TYPO3 6.0:删除了PHP_SCRIPT。我怎样才能解决这个问题?

时间:2013-03-10 10:37:26

标签: php typo3 typoscript

几年前,我上次使用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。

1 个答案:

答案 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中提取记录并以某种方式将它们输出到页面上。