【问题标题】:TYPO3 recursive query for sub-foldersTYPO3 递归查询子文件夹
【发布时间】:2014-02-24 17:12:56
【问题描述】:

我目前正在开发一个 TYPO3 扩展,编辑者可以在其中创建文件夹中的数据集。一个文件夹中的数据集输出完美无瑕:

SELECT * FROM tx_chiliproducts_domain_model_product 
 WHERE hidden=0 AND deleted=0 
   AND pid='.$folderId.' 
ORDER BY sorting ASC

但我也希望能够递归搜索子文件夹。

例子:

 windows 
    wood windows
       modern wood windows
       classic wood windows
    plastic windows

如果我在插件中选择“现代木窗”,输出会显示相应的产品。但我也希望能够选择“windows”并显示排列在以下文件夹之一中的每个项目。

这样的 SQL 查询应该是什么样的?

【问题讨论】:

    标签: sql database recursion content-management-system typo3


    【解决方案1】:

    在任何情况下,强烈建议使用 API 提交查询,无论是 extbase 还是旧系统 pibase。

    在 pibase 中,您可以使用 pi_getPidList($pid_list, $recursive) 获取 pid 的递归列表,然后将其传递给您的 exec_SELECTquery()

    (...或者,如果你绝对需要 - 但你真的不应该 - 使用 WHERE pid IN ($pid_list)) 构建你的 SELECT 查询

    对于 extbase,我找到了this workaround,也许已经有更新的东西了。

    【讨论】:

    • 感谢您的回复。我使用 Extbase,但似乎只添加一个额外的数据库字段来分配类别而不是使用后端的文件夹结构似乎更简单。还是谢谢你!
    • 嗯......从正统的角度来看......“似乎”在这里似乎是正确的词:-)
    猜你喜欢
    • 1970-01-01
    • 2013-02-03
    • 2014-06-21
    • 1970-01-01
    • 2013-06-20
    • 1970-01-01
    • 2018-11-09
    相关资源
    最近更新 更多