Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
08.10.2012, 13:55 | #1 |
Продвинутый
Регистрация: 16.06.2011
Сообщений: 96
|
Изменить TCA fe_users
Пишу такой код в своем TCA:
Код:
$TCA['fe_users']['columns']['telephone']['config']['type'] = 'select'; $TCA['fe_users']['columns']['telephone']['config']['foreign_table'] = 'tx_contacts_main'; |
10.10.2012, 15:31 | #2 |
Senior Member
|
Изменить можно все.
Почему может у вас не получаться: 1. Там где ваш код не объявлена глобальная переменная $TCA 2. Ваш код подключается до загрузки $TCA для fe_users |
10.10.2012, 16:03 | #3 | |
Продвинутый
Регистрация: 16.06.2011
Сообщений: 96
|
Если я правильно понял Вас?
Цитата:
Код:
$GLOBALS['TCA'] ['fe_users']['columns']['telephone']['config']['type'] = 'select'; |
|
10.10.2012, 16:09 | #4 |
Продвинутый
Регистрация: 16.06.2011
Сообщений: 96
|
А как это можно проследить что за чем прогружаетса?
|
10.10.2012, 16:23 | #5 |
Senior Member
|
|
10.10.2012, 16:27 | #6 |
Senior Member
|
Может у вас еще что-то не задано для select? Поэтому ядро и не понимает, а выводить что-то по дефолту (просто поле).
Вы можете кикстартером сделать экст, который добавляет ваше собственное поле в fe_users нужного вам типа. И посмотрите как и что он сгенерит для этого. А потом можете повторить то же самое на существующем поле. |
10.10.2012, 16:32 | #7 |
Продвинутый
Регистрация: 16.06.2011
Сообщений: 96
|
Спасибо за то что направили в нужное русло все получилось
Спасибо за то что направили в нужное русло все получилось.
Все таки проблема была в : 1. $GLOBALS['TCA'] – это первый мой вывод; 2. Нужно было ее обновлять не в myext/tca.php, a myext/ext_tables.php Вот как все выгладить в коде: Код:
global $GLOBALS; t3lib_div::loadTCA('fe_users'); $GLOBALS['TCA']['fe_users']['columns']['telephone']['config']['type'] = 'select'; $GLOBALS['TCA']['fe_users']['columns']['telephone']['config']['foreign_table'] = 'tx_contacts_main'; |
10.10.2012, 16:43 | #8 |
Продвинутый
Регистрация: 16.06.2011
Сообщений: 96
|
Все работает, это просто вопрос для понятия полноты картины.
Но тут логически просто для понимания всей картины возникает вопрос:
1. В чём разница между Код:
$GLOBALS['TCA'] ['fe_users']['columns']['telephone']['config']['type'] = 'select'; Код:
$TCA['fe_users']['columns']['telephone']['config']['type'] = 'select'; 2. И почему я прописывал для других расширений Код:
$TCA['таблица]['columns']['поле']['config']['type'] = 'select'; Код:
GLOBALS['TCA'] ['fe_users']['columns']['telephone']['config']['type'] = 'select'; |
10.10.2012, 17:32 | #9 |
Senior Member
|
Если вы в начале своего кода объявите global $TCA; то разницы никакой. В таком случае переменная с локальной видимостью $TCA становиться ссылкой на $GLOBALS['TCA']. По умолчанию переменная $TCA (и ей подобные) не объявлены.
Что касается порядка. Возможно (это мое предположение!) сначала все xxx/tca.php подключаются, потом все xxx/ext_tables.php. Если оказывается что ваш экст подключается после изменяемого, то изменение сработает через любой файл. А если до - то только через ext_tables.php |
10.10.2012, 17:54 | #10 | |
Продвинутый
Регистрация: 16.06.2011
Сообщений: 96
|
Не работает
Цитата:
Код:
global $TCA; $TCA['fe_users']['columns']['telephone']['config']['type'] = 'select'; $TCA['fe_users']['columns']['telephone']['config']['foreign_table'] = 'tx_contacts_main'; |
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вывод данных в TCA | brd | Разработка расширений / TYPO3 extension development | 2 | 23.02.2012 12:56 |
Как создать свой тип поля в TCA, либо перехватить данные при сохранении формы. | almaz | Разработка расширений / TYPO3 extension development | 2 | 16.06.2011 16:46 |
НУЖНА ПОМОЩЬ!!! ИЗМЕНИТЬ СЛОВО В ШАБЛОНЕ!!! УБИЛСЯ насмерть - не могу найти - где???? | ACROBAT | Общие вопросы | 1 | 24.04.2010 17:30 |
Модификация TCA при помощи Dynaflex | reva2 | Общие вопросы | 2 | 17.01.2008 14:54 |
не могу изменить значение memory_limit | D Sydorovich | Установка | 6 | 18.10.2004 08:59 |