我有一个测试环境,安装了 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
您需要像这样使用
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>