2013-03-10 2 views
3

Это были годы назад, когда я в последний раз интенсивно использовал TYPO3. Поэтому я не помню много TYPO-Script. Когда я обновил до 6.0, я обнаружил, что этот код больше не работает:TYPO3 6.0: PHP_SCRIPT удален. Как я могу это исправить?

marks.CONTENT.30 = PHP_SCRIPT 
marks.CONTENT.30.file = fileadmin/db/db.php 

Он просто вставил HTML вывод db.php (который сделал несколько запросов к базе данных и сформировали настроенное HTML/CSS таблицы из него).

Как исправить это быстро? Я слышал, что PHP_SCRIPT устарел и что есть другое ключевое слово (USER), но я не знаю, как его использовать. Помните: я больше не являюсь экспертом TYPO-Script, поэтому не стесняйтесь подробно объяснять. ;-)

Спасибо! Ingo.

ответ

6

Похоже, вам необходимо базовое расширение, которое, как вы упомянули, это просто USER или USER_INT объекты контента.

Первый один кэшируется в содержании страницы, поэтому, если вы скрипт выводит некоторые статической или редко измененная информация, вы должны рассмотреть, чтобы выбрать USER типа.

Если у вас есть динамические данные, которые часто меняются (каждая новая загрузилась страница приносит новый выход), то вы бы скорее принять USER_INT, но имейте в виду: USER_INT скрипт вызывается каждый раз, когда страница загружается, так вы должны максимально оптимизировать его, насколько это возможно.

Советуем вам ознакомиться с this basic info об использовании этих двух типов.

Так, в конце вам нужен PHP класс, название которого начинается с «user_» или «» tx_ с основной() метод, который принимает два Params $ содержание и $ конф. Эти параметры не будут использоваться вами, но FYI, $ content может содержать предварительно обработанный контент, а $ conf содержит любые данные конфигурации, необходимые для вашего скрипта.

Внутри main() вы создаете свой HTML-вывод и просто возвращаете его (как строку).

TS часть будет следовать в случае USER:

includeLibs.something = fileadmin/db/db.php 
marks.CONTENT.30 = USER 
marks.CONTENT.30 { 
    userFunc = user_db->main 
} 

Для USER_INT:

marks.CONTENT.30 = USER_INT 
marks.CONTENT.30 { 
    includeLibs = fileadmin/db/db.php 
    userFunc = user_db->main 
} 

Примечание: я описал грязный, но простой способ для вашего дело. Намного лучше будет рассмотреть использование cObject , потому что он делает именно то, что вам нужно: извлекает записи из БД и выводит их на страницу так, как вам нравится.

Смежные вопросы