从 tt_address 读取数据并渲染表格。桌子还是空的

问题描述 投票:0回答:1

我有一个测试环境,安装了 intro-package、ods_osm 和 tt_address。在一页上,我想显示一个表格,其中包含来自 tt_address 的标记数据(也在地图中使用)。我仍在与打字稿作斗争,但这就是我到目前为止所得到的:

页面分机模板:

lib.markerTable = FLUIDTEMPLATE
lib.markerTable {
    templateName = MarkerDetailsTemplate
    templateRootPaths {
        10 = fileadmin/user_upload/
    }
    variables {       
        markerData.select {
            pidInList = 85
            selectFields = uid, name, address, www
        }
    }
}

我的流体模板:

<table>
    <thead>
        <tr>
            <th>Name</th>
            <th>Address</th>
            <th>Website</th>
        </tr>
    </thead>
    <tbody>
        <f:for each="{markerData}" as="marker">
            <tr>
                <td>{marker.name}</td>
                <td>{marker.address}</td>
                <td><a href="{marker.www}" target="_blank">{marker.www}</a></td>
            </tr>
        </f:for>
    </tbody>
</table>

为了渲染表格,我将此行包含到 Default.html 中:

<div class="marker-table-section">
    <f:cObject typoscriptObjectPath="lib.markerTable" />
</div>

但在前端我只看到表格标题。我哪里错了?

谢谢!

编辑(TSOB 条目):

[markerTable] = FLUIDTEMPLATE

    [templateName] = MarkerDetailsTemplate

[templateRootPaths]
[variables]

[markerData]

[select]

    [pidInList] = 85
    [selectFields] = uid, name, address, www
typo3 typoscript typo3-9.x
1个回答
0
投票

您需要像这样使用

DatabaseQueryProcessor

lib.markerTable = FLUIDTEMPLATE
lib.markerTable {
  templateName = MarkerDetailsTemplate
  templateRootPaths {
    10 = fileadmin/user_upload/
  }
  dataProcessing.10 = TYPO3\CMS\Frontend\DataProcessing\DatabaseQueryProcessor
  dataProcessing.10 {
    table = tt_address
    pidInList = 85
    selectFields = tt_address.*
  }
}

然后您可以像这样访问字段:

<table>
  <thead>
  <tr>
    <th>Name</th>
    <th>Address</th>
    <th>Website</th>
  </tr>
  </thead>
  <tbody>
  <f:for each="{records}" as="record">
    <tr>
      <td>{record.data.name}</td>
      <td>{record.data.address}</td>
      <td><a href="{record.data.www}" target="_blank">{record.data.www}</a></td>
    </tr>
  </f:for>
  </tbody>
</table>
© www.soinside.com 2019 - 2024. All rights reserved.