Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > Общие вопросы

Ответ
 
Опции темы Опции просмотра
Старый 24.11.2012, 12:41   #1
Ивано
Guest
 
Сообщений: n/a
Red face 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
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Цитата:
Сообщение от Ивано Посмотреть сообщение
В TCA как создать вкладки (тады) все понятно - это --div-- и нужно их разрешить: dividers2tabs
Но можно еще ставить после имени поля "цифра-цифра-цийра". 3-3-3
Что они обозначают и какие варианты есть.
Это каким-то образом должно влиять на визуальный вид блока с полем. Но по моему в последних версия просто игнорируется.

Цитата:
Сообщение от Ивано Посмотреть сообщение
А также может ли palette еще что нибудь делать, кроме того как 1) выставлять поля в ряд и 2) позволять вносить его в "показать доп. настройки"?
Об этом хорошо в документации написано.
Например в TCA в блоке types у вас поле country_id;;2;;2-2-2, но(!) нет полей region_id, town_id. Тут второй параметр "2" - это ссылка на блок в palettes.
Дальше в palettes добавляете
Код:
	'palettes' => array (
            '2' => array('showitem' => 'region_id, town_id'),
В результате поля region_id, town_id будут выводиться в одном блоке в полем country_id в одну линии ниже country_id.
Ну а то будут ли они выведены в карточке или на верхней панели зависит от текущих настроек TYPO3. Но в последних версиях кажется в верхнюю панель поля уже не выводятся.

Цитата:
Сообщение от Ивано Посмотреть сообщение
А также, что за UserFunc - для TCA
и что с ее помощью можно делать?
Можно вывести свой элемент управления. Например в 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',
Вот тут как раз в документации практически ничего нет на этот счет. Надо смотреть как в других экстах это делается (DAM например, tt_news)
dmartynenko вне форума   Ответить с цитированием
Старый 26.11.2012, 14:00   #3
Ивано
Guest
 
Сообщений: n/a
По умолчанию

С UserFunc - в config TCA для поля таблицы - здесь все понятно...

НО

Где - то видел что UserFunc можно применять к самой TCA[таблицы]
или такого не существует...
  Ответить с цитированием
Старый 26.11.2012, 14:14   #4
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

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)

Код:
/*
 * 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';
dmartynenko вне форума   Ответить с цитированием
Старый 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
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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


Часовой пояс GMT +4, время: 21:51.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория