Използване на `TCA_DESCR` за ред `tt_content` в зависимост от неговия `CType`

Конфигурацията в TCA_DESCR се използва за CSH помощен текст; нещо като $GLOBALS['TCA_DESCR'][$table]['columns'][$field] = array('description' => ...). Предоставя ли TYPO3 CMS нещо за използване на тази конфигурация за подтиповете (CType) на tt_content?

Питам, защото можете да промените етикет на поле за ред в tt_content в зависимост от неговия подтип (CType). напр. именуване на поле header на обект на съдържание с тип Foo като Bar вместо Header. Но изглежда, че не можете да промените помощния текст на CSH, защото когато разглеждам FormEngine::getSingleField(), помощната функция BackendUtility::wrapInHelp() се използва само с три параметъра и по този начин се използва помощният текст на CSH по подразбиране. Няма никакъв смисъл IMO, защото когато дефинирам персонализиран подтип с персонализиран преден шаблон, знам точно за какво се използва това поле в този случай и може да се различава малко от друг подтип.

Така че единствената възможност, която виждам, е да напиша грозен манипулатор за куката getSingleField_postProcess от $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tceforms.php'], за да получа това, от което се нуждая. Прав ли съм?


person witrin    schedule 01.04.2015    source източник


Отговори (1)


Прав си. Описанието на таблицата е обвързано с всяка таблица/поле. Следователно не можете да го промените въз основа на някакво условие, освен ако не се свържете с ядрото, направете това сами.

person pgampe    schedule 05.04.2015
comment
За съжаление, в куката, която споменах по-горе, ще получа рендирана маркировка, така че няма да следвам този път. Вместо това просто въвеждам нови полета, когато персонализиран тип съдържание изисква това. Но е малко любопитно, че можете да промените етикет въз основа на някои условия, но помощният текст остава постоянно. - person witrin; 05.04.2015
comment
Причината, поради която можете да промените етикета е, че можете да използвате поле за различни данни, в зависимост от избрания (под)тип запис. Пример за това е tt_content. Препоръчвам да не правите това, а по-скоро да използвате повече полета и да показвате само необходимите полета в текущия ви подтип или да използвате напълно различни таблици. - person pgampe; 10.04.2015
comment
Точно! И тази възможност е полуизпечена, когато не можете да направите същото за помощта за етикета. Така че IMO или можете да „злоупотребявате“ със съществуващо поле за вашите собствени цели изцяло, или не го правите, но текущото състояние е нещо между тях. Както и да е, вече написах това, което предлагате, поради липсата на поддръжка чрез промяна на помощта за етикета на съществуващи полета, трябва да напиша за всяко свойство на моя потребителски тип нови полета (колони); което в някои случаи е малко глупаво (напр. нещо като title). - person witrin; 10.04.2015