Как выбрать и сохранить 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)

Вопросы:

  1. На самом деле, я что-то здесь упускаю, и я был бы признателен за любой намек, где суть здесь?

  2. Есть ли другое решение для выбора ContentElement из PageTree?

1 ответ

1) Возможно, у вас есть либо значение по умолчанию, либо унаследованное значение, либо каким-то образом отключенный XML, содержащий другое значение. Чтобы быть на 100% уверенным, что ни одна из них не является вашей причиной, попробуйте то же самое на совершенно новой странице. Ожидаемый результат вашего кода и выбора UID страницы, является именно значением 60 - ни больше ни меньше.

2) Вам может быть проще использовать ###STORAGE_PID### маркер в вашем foreign_table_where и выбор страниц, разрешенных для выбора контента, в качестве значений в Behavior вкладка при редактировании вашего элемента контента или страницы. Это значение имеет дополнительное преимущество, заключающееся в возможности включения только для определенных пользователей, групп пользователей или только администраторов.

Другие вопросы по тегам