Вход

Просмотр полной версии : Выбрать с 2-x selectbox в 3-й selectbox


brd
08.05.2012, 17:36
есть ли возможность выбрать с 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. Написать кастомный элемент для формы.

brd
16.05.2012, 17:31
Прямо в таком виде как на вашем примере нет, по крайней мере стандартными средствами.

Можно попробовать такие варианты:
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',
...

brd
21.05.2012, 16:37
Смотрите 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 посмотреть ленитесь? Я вам даже ссылку дал.

brd
21.05.2012, 16:51
А документацию по 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.

brd
21.05.2012, 19:01
Смотрите раздел ['columns'][field name]['config'] / TYPE: "select, параметр foreign_table_where, про ###REC_FIELD_[field name]###. И под таблицей описания параметров Example - Simple selector box with TSconfig markers.
:):): Все дошло мне спс:)))) Я это находил в документации и даже пробывал но результата не дало такого как я хотел поэтому я и начал рыть дальше! А кода вы подтвердили что в этом месте собака зарыта я ее откопал:) Спасибо.