![]() |
Константы шаблона TS в BE модулях
Пишу BE модуль. Задался вопросом. Как получить значения констант заданых в шаблоне сайта (Template->Constants) в BE модуле?
Возможно ли это в принципе? Через дебуг пересмотрел все массивы которые передаются в модуль по-умолчанию ($BE_USER,$LANG,$BACK_PATH,$TCA_DESCR,$TCA,$CLIENT ,$TYPO3_CONF_VARS), ничего похожего не нашел. Буду благодарен за помощь или хотябы за подсказку/идею где рыть. |
В бекенде нет никакого фронтэнда. Поэтому часто приходится использовать некий фейк фронтэнда... Пример можно посмотреть в timtab, как там берутся в BE настройки из фронтэнда.
|
Спасибо,
Посмотрю. |
Этот же вопрос задал в рассылке typo3.dev
Сначала мне тоже сказали что это невозможно. Но потом Ingo Renner подкинул один вкусный фокус. Цитирую: ---------------------------------------------------------------- in BE you can simply initialize a TSFE instance yourself like this: PHP код:
Попробовал, действительно, можно получить сетап шаблона в бекенд таким образом. Что бы получить константы, соответственно обращаемся через PHP код:
require_once(PATH_t3lib.'class.t3lib_tsparser_ext. php'); require_once(PATH_t3lib.'class.t3lib_page.php'); |
Я именно это и имел в виду. Писал абсолютно такой же код, один в один.
Еще иногда требуется определить в бекенде константу PATH_tslib. Кстати, главная сложность вот в этом фейковом FE - это узнать $pageId. Ну и вообще, сложности возникают при желании использовать фе-шные либы - приходится делать фейковый TSFE и пр... достаточно муторное занятие. |
Да, с PATH_tslib я как то тоже возился, и встречал в какихто модулях переопределение этой константы (по моему даже в ср_фрикап).
Вообще, конечно, такой фокус вполне приемлем для специфического модуля для определенного сайта, где уже точно известно какие страницы с какими идентификаторами, и что структура дерева, в идеале, меняться не будет. Для чего-нибудь более-менее универсального нужно будет повозится. |
Часовой пояс GMT +4, время: 08:54. |
Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot