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

Вернуться   Russian TYPO3 community > Тематические форумы > Разработка расширений / TYPO3 extension development

Ответ
 
Опции темы Опции просмотра
Старый 28.01.2008, 14:46   #1
Uruguaygrep
Senior Member
 
Аватар для Uruguaygrep
 
Регистрация: 25.04.2007
Адрес: Donetsk, Ukraine
Сообщений: 116
Отправить сообщение для Uruguaygrep с помощью ICQ
По умолчанию Константы шаблона TS в BE модулях

Пишу BE модуль. Задался вопросом. Как получить значения констант заданых в шаблоне сайта (Template->Constants) в BE модуле?
Возможно ли это в принципе?
Через дебуг пересмотрел все массивы которые передаются в модуль по-умолчанию ($BE_USER,$LANG,$BACK_PATH,$TCA_DESCR,$TCA,$CLIENT ,$TYPO3_CONF_VARS), ничего похожего не нашел.

Буду благодарен за помощь или хотябы за подсказку/идею где рыть.
__________________
Стас Кобзарь
Uruguaygrep вне форума   Ответить с цитированием
Старый 28.01.2008, 20:53   #2
void
Senior Member
 
Аватар для void
 
Регистрация: 14.03.2006
Адрес: Russia, Penza
Сообщений: 1,504
Отправить сообщение для void с помощью ICQ
По умолчанию

В бекенде нет никакого фронтэнда. Поэтому часто приходится использовать некий фейк фронтэнда... Пример можно посмотреть в timtab, как там берутся в BE настройки из фронтэнда.
__________________
TYPO3 FAQ
void вне форума   Ответить с цитированием
Старый 28.01.2008, 21:37   #3
Uruguaygrep
Senior Member
 
Аватар для Uruguaygrep
 
Регистрация: 25.04.2007
Адрес: Donetsk, Ukraine
Сообщений: 116
Отправить сообщение для Uruguaygrep с помощью ICQ
По умолчанию

Спасибо,
Посмотрю.
__________________
Стас Кобзарь
Uruguaygrep вне форума   Ответить с цитированием
Старый 31.01.2008, 16:38   #4
Uruguaygrep
Senior Member
 
Аватар для Uruguaygrep
 
Регистрация: 25.04.2007
Адрес: Donetsk, Ukraine
Сообщений: 116
Отправить сообщение для Uruguaygrep с помощью ICQ
По умолчанию

Этот же вопрос задал в рассылке typo3.dev
Сначала мне тоже сказали что это невозможно.
Но потом Ingo Renner подкинул один вкусный фокус.
Цитирую:
----------------------------------------------------------------
in BE you can simply initialize a TSFE instance yourself like this:
PHP код:
        // get a TS parser instance
$template t3lib_div::makeInstance('t3lib_tsparser_ext');
$template->tt_track 0;
$template->init();

$sysPage  t3lib_div::makeInstance('t3lib_pageSelect');
$rootLine $sysPage->getRootLine($pageId);

        
// generate the constants config + hierarchy info for the template.
$template->runThroughTemplates($rootLine);
$template->generateConfig();

return 
$template->setup
----------------------------------------------------------------
Попробовал, действительно, можно получить сетап шаблона в бекенд таким образом.

Что бы получить константы, соответственно обращаемся через
PHP код:
$template->constants 
P.S. Ну и конечно нужно подключить соответствуюющие библиотеки:
require_once(PATH_t3lib.'class.t3lib_tsparser_ext. php');
require_once(PATH_t3lib.'class.t3lib_page.php');
__________________
Стас Кобзарь
Uruguaygrep вне форума   Ответить с цитированием
Старый 31.01.2008, 20:19   #5
void
Senior Member
 
Аватар для void
 
Регистрация: 14.03.2006
Адрес: Russia, Penza
Сообщений: 1,504
Отправить сообщение для void с помощью ICQ
По умолчанию

Я именно это и имел в виду. Писал абсолютно такой же код, один в один.
Еще иногда требуется определить в бекенде константу PATH_tslib.
Кстати, главная сложность вот в этом фейковом FE - это узнать $pageId.
Ну и вообще, сложности возникают при желании использовать фе-шные либы - приходится делать фейковый TSFE и пр... достаточно муторное занятие.
__________________
TYPO3 FAQ
void вне форума   Ответить с цитированием
Старый 31.01.2008, 21:09   #6
Uruguaygrep
Senior Member
 
Аватар для Uruguaygrep
 
Регистрация: 25.04.2007
Адрес: Donetsk, Ukraine
Сообщений: 116
Отправить сообщение для Uruguaygrep с помощью ICQ
По умолчанию

Да, с PATH_tslib я как то тоже возился, и встречал в какихто модулях переопределение этой константы (по моему даже в ср_фрикап).

Вообще, конечно, такой фокус вполне приемлем для специфического модуля для определенного сайта, где уже точно известно какие страницы с какими идентификаторами, и что структура дерева, в идеале, меняться не будет.

Для чего-нибудь более-менее универсального нужно будет повозится.
__________________
Стас Кобзарь
Uruguaygrep вне форума   Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
CSS в зависимости от категории и шаблона vaschu TypoScript практикум 2 16.01.2008 04:25
Создание шаблона вручную drlov Общие вопросы 3 10.08.2007 22:52
Слетает маппинг при переименовании файла шаблона c0d3r Общие вопросы 0 06.06.2007 10:54
Ссылка на FCE как часть шаблона Templavoila acid-art Общие вопросы 1 09.04.2007 13:56
Редактирование стандартного шаблона Yura jr. Общие вопросы 1 22.04.2005 01:22


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


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

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