Просмотр полной версии : FE: подключение расширений
Подскажите, где рыть в коде TYPO3 подключение расширений в FE или инициализацию их классов?
У меня подозрение, что TV в FE перестала работать, а отладить не получается. FE всё работает, отладочное сообщение генерится, но не работает TV. В самом классе плагина TV поставил отладку, но она не срабатывает, значит, класс, не вызывается. Думаю, какие-то проблемы с путями и инклудами, я вчера менял структуру каталогов сайта и были проблемы, но всё, что нашёл, пофиксил. BE работает, TV там действует.
Заранее спасибо за помощь.
Если имеется в виду создание объектов классов плагинов, и вызов у них их userFunc, то смотреть надо в EXT:cms/tslib/class.tslib_content.php на функцию USER()
Большое спасибо, смотрю.
Интересует обработка вот этого TS:
page.10 = USER
page.10.userFunc = tx_templavoila_pi1->main_page
То есть нужен метод, где он подключает класс tx_templavoila_pi1.
Где-то должен иклудиться файл класса.
По-моему, он не инклудится... хотя никаких ошибок я нигде не вижу - ни в браузере, ни в логах.
Да, отладка USER показывает, что не существует класс tx_templavoila_pi1.
В EXT:templavoila/ext_localconf.php есть строка t3lib_extMgm::addPItoST43($_EXTKEY,'pi1/class.tx_templavoila_pi1.php','_pi1','CType',1);
Которая, если посмотреть в исходники, включает в стандартный статический шаблон несколько строк, в том числе
$pluginContent = trim('
includeLibs.'.$cN.$prefix.' = '.$TYPO3_LOADED_EXT[$key]['siteRelPath'].$classFile.'
То есть добавляет плагин в includeLibs.
Затем в EXT:cms/tslib/pagegen.php эти файлы включаются:
$temp_incFiles=TSpagegen::getIncFiles();
reset($temp_incFiles);
while(list(,$temp_file)=each($temp_incFiles)) {
include_once('./'.$temp_file);
}
Большое спасибо!
Отладка грит массив $temp_incFiles пустой %/
О, вшил отладку в t3lib_timeTrack::setTSlogMessage и вылезло:
typo3/ext/templavoila/pi1/class.tx_templavoila_pi1.php" is not a file (non-uploads/.. resource, did not exist).
Это ругается t3lib_TStemplate::getFileName.
Похоже где-то косой путь к расширениям.
PS. Кстати, эти сообщения setTSlogMessage НЕ появляются в adm_Panel, хотя сообщения метода push появляются. Можно ли настроить появление setTSlogMessage? ПО-моему, должно такое быть, очень логично выглядит да и в комментах к методу написано - типа логирование.
Подвожу итог:
требуется установка t3lib_TStemplate->getFileName_backPath
// Set from the backend - used to set an absolute path (PATH_site) so that relative resources are properly found with getFileName()
что и требовалось доказать... блин... я несколько часов потерял, копаясь в проблеме :(
Огромное спасибо, void!!!
Осталось понять, что как же сделать этот "Set from the backend"...
В приницпе, решил проблему и без этого... но всё равно интересно, можно ли устанавливать где-то в TS эту getFileName_backPath.
Dutchak Vitaly
10.08.2007, 00:21
А вы поставили TV как глобальный модуль?
Да, Typo3 юзается для нескольких проектов на разных доменах. Все расширения, соответственно, глобальные.
Dutchak Vitaly
10.08.2007, 12:37
Да, Typo3 юзается для нескольких проектов на разных доменах. Все расширения, соответственно, глобальные.
и только на одном сайте такая проблема?
Да проблема-то уже решена, я вчера отписал в теме.
Да и пока в работе только один сайт :)
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot