是的你是对的。但我认为同一张表的同一记录没有被渲染两次是故意的。
就此而言,渲染信息存储在(123 是该客户端的 uid):
$GLOBALS['TSFE']->recordRegister['tx_myclients:123']
看一下typo3/sysext/cms/tslib/content/class.tslib_content_content.php
,在 134ff 线附近
为了解决这个问题,可以 XCLASStslib_content_Content
或在 MySQL 中创建一个视图,将您的数据显示为不同的表:
CREATE VIEW tx_myclients_view
AS
SELECT *
FROM tx_myclients
我敢肯定还有很多其他的解决方法。
编辑
对于视图部分(这比 XCLASS 更容易):
- 在您的 MySQL 工具中使用上述 SQL 语句
- 将表/视图名称替换为与您的表匹配的名称(视图也必须以开头
tx_
)
- 现在您的 MySQL 数据库中将有一个“表”,它是您真实表的精确“副本”(*),只是名称不同
- 选择第一个循环 from
tx_myclients
和第二个循环 from tx_myclients_view
,所以两者都有独立的缓存
(* It's not really a copy, it's acting as a table. When you select from it, it runs the select statement from the CREATE VIEW
statement.
In other words, if you CRUD on the original, it's reflected in the view. Read more in the documentation)