Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
24.11.2012, 12:41 | #1 |
Guest
Сообщений: n/a
|
TCA - --palette-- и 3-3-4;;; а также UserFunc
Добрый день.
В TCA как создать вкладки (тады) все понятно - это --div-- и нужно их разрешить: dividers2tabs Но можно еще ставить после имени поля "цифра-цифра-цийра". 3-3-3 Что они обозначают и какие варианты есть. А также может ли palette еще что нибудь делать, кроме того как 1) выставлять поля в ряд и 2) позволять вносить его в "показать доп. настройки"? А также, что за UserFunc - для TCA и что с ее помощью можно делать? -- Спасибо. Последний раз редактировалось Ивано; 25.11.2012 в 14:45 |
25.11.2012, 15:55 | #2 | ||
Senior Member
|
Цитата:
Цитата:
Например в TCA в блоке types у вас поле country_id;;2;;2-2-2, но(!) нет полей region_id, town_id. Тут второй параметр "2" - это ссылка на блок в palettes. Дальше в palettes добавляете Код:
'palettes' => array ( '2' => array('showitem' => 'region_id, town_id'), Ну а то будут ли они выведены в карточке или на верхней панели зависит от текущих настроек TYPO3. Но в последних версиях кажется в верхнюю панель поля уже не выводятся. Можно вывести свой элемент управления. Например в tt_news так выводится дерево категорий: Код:
'category' => Array ( 'exclude' => 1, # 'l10n_mode' => 'exclude', // the localizalion mode will be handled by the userfunction 'label' => 'LLL:EXT:tt_news/locallang_tca.xml:tt_news.category', 'config' => Array ( 'type' => 'select', 'form_type' => 'user', 'userFunc' => 'tx_ttnews_TCAform_selectTree->renderCategoryFields', |
||
26.11.2012, 14:00 | #3 |
Guest
Сообщений: n/a
|
С UserFunc - в config TCA для поля таблицы - здесь все понятно...
НО Где - то видел что UserFunc можно применять к самой TCA[таблицы] или такого не существует... |
26.11.2012, 14:14 | #4 |
Senior Member
|
TCA это просто PHP массив.
Он идет отдельный файлом и потом включается в общий кэшируемый PHP файл со всеми TCA всех расширений. И в этом виде подгружается при ядром при каждом FE обращении. Следовательно если это просто PHP код, то вы в него можете добавить любые функции, которые делают то что вам нужно. Например у меня после описания TCA есть такое: Код:
/* * geography */ if (t3lib_extMgm::isLoaded('uedb_region')) { $TCA['tx_uedbnews_news']['columns']['country_id'] = Array ( 'exclude' => 0, 'label' => 'LLL:EXT:uedb_news/locallang_db.xml:tx_uedbnews_news.country_id', 'config' => Array ( Код:
/* * dam images */ $TCA['tx_uedbnews_news']['columns']['tx_dam_thumbimage'] = txdam_getMediaTCA('image_field', 'tx_dam_thumbimage'); $TCA['tx_uedbnews_news']['columns']['tx_dam_thumbimage']['config']['size'] = 1; $TCA['tx_uedbnews_news']['columns']['tx_dam_thumbimage']['config']['maxitems'] = 1; $TCA['tx_uedbnews_news']['columns']['tx_dam_thumbimage']['label'] = 'LLL:EXT:uedb_news/locallang_db.xml:tx_uedbnews_news.tx_dam_thumbimage'; |
26.11.2012, 14:17 | #5 |
Guest
Сообщений: n/a
|
Все, понял - спасибо!
|
26.11.2012, 15:36 | #6 |
Guest
Сообщений: n/a
|
И есть еще три вопроса вопроса по TCA
1. Есть событие перезагрузки страницы в случае изменения значения какого-то поля, которое можно задать в TCA. Но из того, что знаю, его можно назначить (прикрепить) только к одному полю... Возможно ли его назначить к нескольким полям? 2. При работе с config type inline новые созданные записи пишутся по pid в тоже хранилище записей, что и основная запись... Возможно ли изменить pid-сохранения записи, но в другое хранилище. Hooki очень бы не хотелось использовать... Как понимаю - это параметр: inlineFirstPid - не работает, да это и не он! 3. Насколько грамотно в качестве uid-использовать строки (varchar), а не числовые значений (int), или это безобразие и typo3 также думает? Последний раз редактировалось Ивано; 26.11.2012 в 16:05 |
26.11.2012, 16:08 | #7 |
Senior Member
|
1. Нет, только одно поле может быть задано как "type" записи. И именно его изменение вызывает перезагрузку формы.
А вот FlexForm позволяет сделать это для любых/нескольких полей http://www.t3node.com/blog/dynamic-f...po3-flexforms/ Но в базу как известно FF сохраняется как текст в XML, а не по отдельным полям. 2. Не знаю, не стояла такая задача. Если настройки явно не описаны в доках, значит нет такой возможности. Да и зачем? 3. Значения uid ядро не присваивает. Расчитывает на autoincrement. А его понятное дело для char нет. Значит не будет работать. Но ничто не мешает вам использовать свои "скрытые" от BE таблицы для собственных нужд с любыми ключами. Например RealURL такие создает для своих кэшей. |
26.11.2012, 16:13 | #8 |
Guest
Сообщений: n/a
|
Спасибо за ответ...
От 2 и 3 тогда можно отказаться. А вот с первых очень обидно! Flex из-за XML и не подходит... |
29.11.2012, 18:33 | #9 |
Guest
Сообщений: n/a
|
Все таки не понятно, что делает:
3-2-1; 1-1-1 - может у кого есть опыт игры с этими числами. Есть еще и такое : keywords;;;;2-2-2,sys_language_uid;;1;;3-3-3, Ставлю одно, что-то вроде бы что-меняется. Ставлю другое, что-то не меняется... Может это отступы верх, лево, низ? Здесь нашел, но не пойму о чем говорит автор по данному вопросу: http://www.typo3lexikon.de/typo3-tut...ese-1-1-1.html |
29.11.2012, 18:45 | #10 |
Guest
Сообщений: n/a
|
Наверное ответ нашел:
http://stackoverflow.com/questions/8...peskey-section showitem consists of fields separated by commas (,). Each field is defined by 1-5 arguments separated by semicolons (. The first (mandatory) argument is the field name that can be followed by another 4 extra arguments. The last argument that you are referring to ("2-2-2") is a form style code which is divided by a hyphen (-) into colorscheme, stylescheme and borderscheme. http://typo3.org/documentation/docum...1/6/#id2633668 НО, пробовал и так и сяк - работает самым нормальным образом только 1-1-1! exit(); |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
TCA - распространение на домены | Ивано | Общие вопросы | 1 | 12.11.2012 13:29 |
Изменить TCA fe_users | brd | Разработка расширений / TYPO3 extension development | 9 | 10.10.2012 17:54 |
Вывод данных в TCA | brd | Разработка расширений / TYPO3 extension development | 2 | 23.02.2012 12:56 |
Как создать свой тип поля в TCA, либо перехватить данные при сохранении формы. | almaz | Разработка расширений / TYPO3 extension development | 2 | 16.06.2011 16:46 |
Модификация TCA при помощи Dynaflex | reva2 | Общие вопросы | 2 | 17.01.2008 14:54 |