我目前正在用Flux和Fluidpages构建一个TYPO3 PageTemplate (都是GitHub主分支)。我希望能够从ContentElements中选择一些UID,并将UID存储在一个变量中,以便稍后呈现。
我的第一种方法是将Flux TreeField与RelationField相结合:
<flux:form.sheet name="content" label="content settings">
<flux:field.tree
name="treetest"
label="treetest"
table="pages"
parentField="pid"
foreignLabel="title"
multiple="true"
minItems="0"
maxItems="1000"
size="8"
expandAll="false"
/>
<flux:field.relation
name="relationtest"
label="relationtest"
table="tt_content"
condition="AND tt_content.pid IN ({treetest})"
multiple="true"
size="8"
minItems="0"
maxItems="3"
/>
</flux:form.sheet>不幸的是,这会导致SQL错误,因为最后一个条件插入如下:
AND tt_content.pid IN (60|foo)其中'foo‘是带有UID 60的SysFolder的标题。
调试--前端的输出将字段“treetest”打印为:
treetest => '60' (2 chars)实地“关系测试”的条件如下:
condition => 'AND tt_content.pid IN (60)' (26 chars)问题:
发布于 2014-04-03 23:32:08
1)您可能有默认值、继承的值或包含其他值的断开连接的XML。要100%确定这些都不是你的目标,在一个全新的页面上尝试同样的方法。您的代码和选择页面UID的预期结果正是值60 -没有更多,也没有更少。
2)在编辑内容元素或页面时,您可能会发现在###STORAGE_PID###中更容易使用foreign_table_where标记,并选择允许选择内容的页面作为Behavior选项卡中的值。此值的附加好处是只允许某些用户或用户组或管理员使用。
https://stackoverflow.com/questions/20824944
复制相似问题