TYPO3 6.0: PHP-СКРИПТ был удален. Как я могу это исправить?
Это было много лет назад, когда я в последний раз интенсивно использовал TYPO3. Так что я не помню много ОПЕЧАТОК. Когда я обновился до версии 6.0, я обнаружил, что этот код больше не работает:
marks.CONTENT.30 = PHP_SCRIPT
marks.CONTENT.30.file = fileadmin/db/db.php
Он просто вставил html-вывод db.php (который сделал несколько запросов к базе данных и сформировал из нее настраиваемую таблицу html/css).
Как я могу быстро это исправить? Я слышал, что PHP_SCRIPT устарел, и что есть еще одно ключевое слово (ПОЛЬЗОВАТЕЛЬ), но я не знаю, как его использовать. Помнить: Я действительно больше не эксперт по опечаткам, так что не стесняйтесь объяснять подробно. ;-)
Спасибо! Инго.
1 answers
Похоже, вам нужно базовое расширение, которое, как вы упомянули, просто ПОЛЬЗОВАТЕЛЬ или USER_INT объекты содержимого.
Первый кэшируется в содержимом страницы, поэтому, если ваш скрипт выводит некоторую статическую или редко изменяемую информацию , вам следует подумать о выборе ПОЛЬЗОВАТЕЛЯ типа.
Если у вас есть динамические данные, которые часто меняются (каждая новая загрузка страницы приводит к новым выводам), то вы бы предпочли USER_INT, но имейте в виду: USER_INT скрипт вызывается каждый раз, когда загружается ваша страница, поэтому вы должны максимально оптимизировать его.
Я советую вам прочитать эту основную информацию об использовании этих двух типов.
Итак, в конце вам понадобится класс PHP, имя которого начинается с "user_" или "tx_" с помощью метода main(), который принимает два параметра $content и $conf. Эти параметры не будут использоваться вами, но, к вашему сведению, $content может содержать предварительно обработанный контент, а $conf содержит любые данные конфигурации, необходимые для вашего скрипта.
Внутри main() вы создаете свой HTML-вывод и просто возвращаете его (в виде строки).
Часть TS будет следующей в случае ПОЛЬЗОВАТЕЛЯ:
includeLibs.something = fileadmin/db/db.php
marks.CONTENT.30 = USER
marks.CONTENT.30 {
userFunc = user_db->main
}
Для ПОЛЬЗОВАТЕЛЬ_INT:
marks.CONTENT.30 = USER_INT
marks.CONTENT.30 {
includeLibs = fileadmin/db/db.php
userFunc = user_db->main
}
ПРИМЕЧАНИЕ: Я описал грязный, но простой способ для вашего случая. Гораздо лучше будет рассмотреть возможность использования КОНТЕНТА CObject, потому что он делает именно то, что вам нужно: извлекает записи из БД и выводит их на страницу таким образом, это тебе нравится.