几年前,我上次使用TYPO3。所以我不记得很多TYPO-Script。当我更新到6.0时,我发现此代码不再有效:
marks.CONTENT.30 = PHP_SCRIPT
marks.CONTENT.30.file = fileadmin/db/db.php
它只是插入了db.php的html输出(它做了一些数据库请求,并形成了一个自定义的html / css表)。
我该如何快速解决这个问题?我听说PHP_SCRIPT已被弃用,而且还有另一个关键字(USER),但我不知道如何使用它。记住:我不再是TYPO脚本专家了,所以请随时详细解释。 ; - )
谢谢! INGO。
答案 0 :(得分:6)
您似乎需要一个基本扩展程序,正如您所提到的,它只是 USER 或 USER_INT 内容对象。
第一个缓存在页面内容中,因此,如果您脚本输出一些静态或很少更改的信息,您应该考虑选择 USER 类型。
如果你有动态数据,经常更改(每个新页面加载带来新输出),那么你宁愿选择 USER_INT ,但要注意:USER_INT脚本每次加载页面时都会调用它,因此您必须尽可能地优化它。
我建议你阅读this basic info关于这两种类型的使用情况。
所以,最后你需要一个PHP类,该名称从'user_'或'tx_'开始,带有 main()方法,该方法需要两个参数 $ content 和 $ conf 。您不会使用这些参数,但是FYI,$ content可能包含预处理内容,$ conf包含脚本所需的任何配置数据。
在 main()内部,您可以创建HTML输出并将其返回(作为字符串)。
如果 USER :
,则会跟踪TS部分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
}
注意:我为您的案例描述了肮脏但简单的方法。更好的方法是考虑使用CONTENT cObject,因为它完全符合您的需要:从DB中提取记录并以某种方式将它们输出到页面上。