Просмотр полной версии : Выбрать с 2-x selectbox в 3-й selectbox
есть ли возможность выбрать с 2-x selectbox,в них разная инфа, в 3-й selectbox в TCA? Примерно так http://remysharp.com/wp-content/uploads/2007/09/select-chain.php
dmartynenko
10.05.2012, 12:52
Прямо в таком виде как на вашем примере нет, по крайней мере стандартными средствами.
Можно попробовать такие варианты:
1. Использовать treeview - есть среди стандартных элементов формы начиная с TYPO3 4.5. Ведь фактически три таких связанных списка берут данные из дерева с 2-мя уровнями вложенности.
2. Сделать три поля select одно под другим. Во втором поле будет условие видимости "значение первого поля не пустое" и в запросе на отбор записей для второго поля будет использоваться значение 1-го поля. 3-е поле аналогично связать со 2-м. Это все реализуется стандартными возможностями TCA. Минус один - после выбора значений в первом поле нужно сохранить форму что бы появилось второе поле, а после выбора во втором поле нужно опять сохранить что бы появилось третье поле. Хотя может быть этот недостаток можно нивелировать - в репозитории я как-то встречал экст который добавляет AJAX функциональность BE формам (но не пробовал).
3. Написать кастомный элемент для формы.
Прямо в таком виде как на вашем примере нет, по крайней мере стандартными средствами.
Можно попробовать такие варианты:
1. Использовать treeview - есть среди стандартных элементов формы начиная с TYPO3 4.5. Ведь фактически три таких связанных списка берут данные из дерева с 2-мя уровнями вложенности.
2. Сделать три поля select одно под другим. Во втором поле будет условие видимости "значение первого поля не пустое" и в запросе на отбор записей для второго поля будет использоваться значение 1-го поля. 3-е поле аналогично связать со 2-м. Это все реализуется стандартными возможностями TCA. Минус один - после выбора значений в первом поле нужно сохранить форму что бы появилось второе поле, а после выбора во втором поле нужно опять сохранить что бы появилось третье поле. Хотя может быть этот недостаток можно нивелировать - в репозитории я как-то встречал экст который добавляет AJAX функциональность BE формам (но не пробовал).
3. Написать кастомный элемент для формы.
а как указать условия видимости для второго селекта, (ваше 2-е предложение), можно пример?
dmartynenko
16.05.2012, 17:56
Смотрите http://typo3.org/documentation/document-library/core-documentation/doc_core_tca/4.7.1/view/1/3/#id384469 про параметр displayCond.
Пример кода из tca.php - поле publisher_title показывается только тогда, когда в поле publisher_id ничего не выбрано (там список). Это сделано для реализация функциии "выбери из списка или введи свое название".
'publisher_title' => array (
// hide this field if publisher_id selected
'displayCond' => 'FIELD:publisher_id:REQ:false',
...
Смотрите http://typo3.org/documentation/document-library/core-documentation/doc_core_tca/4.7.1/view/1/3/#id384469 про параметр displayCond.
Пример кода из tca.php - поле publisher_title показывается только тогда, когда в поле publisher_id ничего не выбрано (там список). Это сделано для реализация функциии "выбери из списка или введи свое название".
'publisher_title' => array (
// hide this field if publisher_id selected
'displayCond' => 'FIELD:publisher_id:REQ:false',
...
А если мне нужно выбрать на основании того что выбрали в первом и сделать запрос и выдать во втором только то что относится к первому?
dmartynenko
21.05.2012, 16:43
А документацию по TCA посмотреть ленитесь? Я вам даже ссылку дал.
А документацию по TCA посмотреть ленитесь? Я вам даже ссылку дал.
Не ленюсь я уже и в книге перечитал этот раздел и примеры кода перепробывал всеравно чет я не могу понять:(, я не могу понять как именно передать параметр, я б если его мог передать яб и свою функцию написать мог но от застрял и все в этом месте:(
dmartynenko
21.05.2012, 16:57
Смотрите раздел ['columns'][field name]['config'] / TYPE: "select, параметр foreign_table_where, про ###REC_FIELD_[field name]###. И под таблицей описания параметров Example - Simple selector box with TSconfig markers.
Смотрите раздел ['columns'][field name]['config'] / TYPE: "select, параметр foreign_table_where, про ###REC_FIELD_[field name]###. И под таблицей описания параметров Example - Simple selector box with TSconfig markers.
:):): Все дошло мне спс:)))) Я это находил в документации и даже пробывал но результата не дало такого как я хотел поэтому я и начал рыть дальше! А кода вы подтвердили что в этом месте собака зарыта я ее откопал:) Спасибо.
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot