Как выбрать и сохранить UID ContentElement в конфигурации Flux FlexForm?
В настоящее время я создаю шаблон страницы TYPO3 с Flux и Fluid-страницами (оба - GitHub Master-Branch). Я хотел бы иметь возможность выбрать несколько ContentElements из PageTree и сохранить 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' - это заголовок SysFolder с UID 60.
Debug-Output во внешнем интерфейсе печатает поле treetest как:
treetest => '60' (2 chars)
и условие для поля'testtest 'как:
condition => 'AND tt_content.pid IN (60)' (26 chars)
Вопросы:
На самом деле, я что-то здесь упускаю, и я был бы признателен за любой намек, где суть здесь?
Есть ли другое решение для выбора ContentElement из PageTree?
1 ответ
1) Возможно, у вас есть либо значение по умолчанию, либо унаследованное значение, либо каким-то образом отключенный XML, содержащий другое значение. Чтобы быть на 100% уверенным, что ни одна из них не является вашей причиной, попробуйте то же самое на совершенно новой странице. Ожидаемый результат вашего кода и выбора UID страницы, является именно значением 60
- ни больше ни меньше.
2) Вам может быть проще использовать ###STORAGE_PID###
маркер в вашем foreign_table_where
и выбор страниц, разрешенных для выбора контента, в качестве значений в Behavior
вкладка при редактировании вашего элемента контента или страницы. Это значение имеет дополнительное преимущество, заключающееся в возможности включения только для определенных пользователей, групп пользователей или только администраторов.