繁体   English   中英

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

[英]TYPO3 6.0: PHP_SCRIPT was removed. How can I fix this?

这是几年前我上次使用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脚本专家了,所以请随时详细解释。 ;-)

谢谢! 英戈。

看起来你需要一个基本扩展,正如你所提到的,它只是USERUSER_INT内容对象。

第一个缓存在页面内容中,因此,如果脚本输出一些静态或很少更改的信息 ,则应考虑选择USER类型。

如果您有频繁更改的动态数据 (每个新页面加载带来新输出),那么您更愿意使用USER_INT ,但请注意:每次页面加载时都会调用USER_INT脚本,因此您必须对其进行优化,如可能。

我建议您阅读有关这两种类型使用的基本信息

所以,最后你需要一个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中提取记录并以某种方式将它们输出到页面上,您喜欢的方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM