2015-04-01 2 views
0

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

Я спрашиваю, потому что вы можете изменить метку поля для строки в tt_content в зависимости от ее подтипа (CType). Например. назвав поле header объекта контента с типом Foo как Bar вместо Header. Но, похоже, вы не можете изменить текст справки CSH, потому что, когда я смотрю на FormEngine::getSingleField(), вспомогательная функция BackendUtility::wrapInHelp() используется только с тремя параметрами, и поэтому используется текст справки по CSH по умолчанию. Это не имеет никакого отношения к ИМО, потому что, когда я определяю собственный подтип с пользовательским интерфейсом, я точно знаю, для чего это поле используется в этом случае, и может немного отличаться от другого подтипа.

Таким образом, единственная возможность, которую я вижу, - написать уродливый обработчик для крюка getSingleField_postProcess из $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tceforms.php'], чтобы получить то, что мне нужно. Я прав?

ответ

0

Вы правы. Описание таблицы привязано к каждой таблице/полю. Поэтому вы не можете заставить его меняться в зависимости от некоторого состояния, если только вы не зацепитесь за это сами.

+0

К сожалению, в Hook, о котором я упоминал выше, я получу визуализированную разметку, поэтому я не буду следовать этому пути. Вместо этого я просто представляю новые поля, когда требуется настраиваемый тип контента. Но немного любопытно, что вы можете изменить ярлык на основе некоторых условий, но текст справки остается постоянным. – witrin

+0

Причина, по которой вы можете изменить метку, заключается в том, что вы можете использовать поле для разных данных в зависимости от выбранного типа записи (подтипа). Примером может быть tt_content. Я рекомендую не делать этого, а использовать больше полей и отображать только нужные поля в текущем подтипе или вообще использовать разные таблицы. – pgampe

+0

Точно! И эта возможность наполовину испечена, если вы не можете сделать то же самое для справки ярлыка. Таким образом, IMO либо вы можете «неправильно использовать» существующее поле для своей цели целиком, либо вы не являетесь, но текущее состояние - это нечто среднее между ними. В любом случае, я уже написал то, что вы предлагаете, из-за отсутствия поддержки, изменив справку меток существующих полей, я должен написать для каждого свойства моего настраиваемого типа новые поля (столбцы); что в некоторых случаях немного глупо (например, что-то вроде 'title'). – witrin