0

我想要实现的输出是这样的:

A
    Anthony SL
        Cars Project
        Flyers printing
        Projekt 3
C
    Carl SL
        Painting job

基本上是客户及其相关项目的字母索引。

我将客户放在名为“tx_myclients”的表中,将项目作为页面。所以这就是我在做的事情http://pastebin.com/tfknf16Z

但由于某种原因,内部选择似乎停止了外部的循环。我能做什么?我不能嵌套 SQL 语句吗?

4

1 回答 1

1

是的你是对的。但我认为同一张表的同一记录没有被渲染两次是故意的。

就此而言,渲染信息存储在(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 数据库中将有一个“表”,它是您真实表的精确“副本”(*),只是名称不同
  • 选择第一个循环 fromtx_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)

于 2012-03-21T11:04:56.090 回答