TYPO3/Typoscript :将 sql 查询呈现为数组

TYPO3/Typoscript : render sql query as array

我正在使用 TYPO3 6.2。 在我的网站上,我以这种方式进行 SQL 查询:

lib.bloc_top = COA
lib.bloc_top.10 < styles.content.get
lib.bloc_top.10.select.selectFields = header
lib.bloc_top.10.select.where = ( deleted = 0 && hidden = 0 && tx_gridelements_container = 2571 && CType = 'header' )

一切正常,但我不想将结果输出为 HTML 代码,而是想将其呈现在我将以这种方式在我的 FLUID 模板中使用的数组中:

<f:for each="{car}" as="el">
    <li>Brand : {el}</li>
  </f:for>

可能吗? 感谢您的帮助:)

您不应该 select 特定 UID 的容器,而是通过 Gridelements CE 后端布局创建 "car" 容器类型。

无论如何,要将数据放入数组中,您无需执行任何特殊操作,因为这是由 styles.content.get 在幕后自动完成的。

虽然 styles.content.get 使用默认 tt_content 设置,但您可以通过 renderObj 更改它,如下所述:https://docs.typo3.org/typo3cms/TyposcriptReference/6.2/ContentObjects/Content/

要将数据放入 Fluid 模板中,您只需将默认的 renderObj 替换为 FLUIDTEMPLATE https://docs.typo3.org/typo3cms/TyposcriptReference/6.2/ContentObjects/Fluidtemplate/Index.html

lib.bloc_top.10.renderObj = FLUIDTEMPLATE
lib.bloc_top.10.renderObj {
  file = path/to/your/template/file.html
}

由于循环是由 styles.content.get 的 CONTENT 对象处理的,您可以跳过模板中的 f:for 部分。

通常在 cObj->data 数组中提供任何类型的数据,因此 <h1>{data.header}</h1> 应该可以完成这项工作。

即使有了 CONTENT,也应该有一个计数器,因为有 https://docs.typo3.org/typo3cms/TyposcriptReference/DataTypes/Gettext/Index.html#cobj

要获取任何可用数据,您应该在流体模板中使用 <f:debug>{_all}</f:debug>