Мне нужно включить PHP-файл (содержащий некоторые проверки баз данных ‘n’) в очень плохо запрограммированный веб-сайт TYPO3. Они использовали TemplaVoilà для шаблонных целей. Это определение в главном шаблоне TypoScript:
[...]
page = PAGE
page {
[...]
10 = USER
10.userFunc = tx_templavoila_pi1->main_page
[...]
}
[...]
В используемом шаблоне TemplaVoilà они сопоставили основной контент div (куда я хотел бы вставить свой PHP-скрипт) с атрибутом «field_content». Не знаю, поможет ли это ответить на мой вопрос.
Я попробовал почти все, что я знаю, чтобы как-то перезаписать / заполнить «Основную область содержимого» с помощью TypoScript, так как она полностью пуста () на странице, которую я создал для своего файла PHP.
Можно ли заполнить определенный сопоставленный тег моим файлом PHP через TypoScript?
(TYPO3 версия 4.5.32)
Я нашел решение для моей проблемы: С подсказкой в ответе Урса (используя _INT) я изменил уже включенный объект DS, который будет расширен посредством дополнительных подобъектов (поскольку разметка позволяет размещать мой код там с некоторыми изменениями в таблице стилей):
lib.social.20 = PHP_SCRIPT_INT
lib.social.20.file = fileadmin/path_to_my_file
Теперь это работает как шарм, хотя это немного хакерский …
Как насчет
lib.myscript= USER
lib.myscript {
userFunc =user_myScript->main
}
и в ДС
<TypoScript><![CDATA[
10 < lib.myscript
]]></TypoScript>
Я не эксперт TemplaVoilà, я только что вытащил второй фрагмент из http://typo3-beispiel.net/index.php?id=10
PS: если это пользователь USER, он будет кеширован, если это USER_INT, это предотвратит статическое кеширование файлов. Таким образом, вам может быть лучше запустить эти проверки в фоновом режиме через AJAX?
Других решений пока нет …