Как решает Typo3 Neos, какой Settings.yaml выбрать?

Я использую одну установку Neos для нескольких доменов с различным содержанием. Дублирование пакета TYPO3.NeosDemoTypo3Org, удаление идентификатора узла и выполнение некоторых замен привели ко мне все, что мне нужно.

Но только первый файл Settings.yaml, найденный в Packages/Sites/, кажется, анализируется. Все изменения в файле Settings.yaml, найденные в других пакетах (Test1 и Test2 в следующем примере), игнорируются.

Пакеты /Sites/TYPO3.NeosDemoTypo3Org/Configuration/Settings.yaml

TYPO3:
  Form:
    yamlPersistenceManager:
      savePath: 'resource://TYPO3.NeosDemoTypo3Org/Private/Form/'

Пакеты /Sites/UDF.Test1/Configuration/Settings.yaml

TYPO3:
  Form:
    yamlPersistenceManager:
      savePath: 'resource://UDF.Test1/Private/Form/'

Пакеты /Sites/UDF.Test2/Configuration/Settings.yaml

TYPO3:
  Form:
    yamlPersistenceManager:
      savePath: 'resource://UDF.Test2/Private/Form/'

Когда я удаляю первый файл Settings.yaml (Packages/Sites/UDF.Test2/Configuration/Settings.yaml), следующий файл Setting.yaml в алфавитном порядке (Packages/Sites/UDF.Test1/Configuration/Settings.yaml) используется для все 3 сайта пакетов. Когда я также удаляю этот файл, используется Settings.yaml из UDF.Test2 и так далее.

было бы здорово, если бы кто-нибудь смог меня просветить. Я новичок в потоках и нео, и любая помощь приветствуется. RTFM, я знаю, но, как описано здесь, я должен верить, что он должен работать как я?

альтернативный способ?

можно ли установить savePath не в конфигурации пакета сайта, а в общих настройках./Packages/Application/TYPO3.Form/Configuration/Settings.yaml

Я вижу заполнитель {@package} в

### BASE ELEMENTS ###
# NAMING: base class for everything is RENDERABLE
  'TYPO3.Form:Base':
    renderingOptions:
      templatePathPattern: 'resource://{@package}/Private/Form/{@type}.html'

но это не работает здесь

TYPO3:
  Form:
    yamlPersistenceManager:
      #savePath: '%FLOW_PATH_DATA%Forms/'
      savePath: 'resource://{@package}/Private/Form/'

как вы видите, я не очень разбираюсь в этом, но я очень мотивирован.

1 ответ

Используются все Settings.yaml, но настройки объединяются в порядке загрузки пакета. Порядок загрузки пакетов снова зависит от их зависимостей. Все три пакета, вероятно, имеют одинаковые зависимости, поэтому они загружаются один за другим (нужно будет проверить, с каким порядком), поэтому загружается третий файл Settings.yaml, затем загружается второй файл Settings.yaml и перезаписывает третий, затем первый загружается и снова перезаписывает второй. Каждый путь установки может быть установлен только один раз, поэтому.

В любом случае то, что вы пытаетесь архивировать, вероятно, не сработает. Это одна из вещей, которую мы должны исправить (конфигурация, зависящая от пакета сайта).

Возможный обходной путь - либо использовать общий пакет с конфигурацией формы и просто установить savePath для этого пакета, либо использовать разные субконтексты (например, Production/Domain1 Production/Domain2) и установить этот параметр по-разному для каждого субконтекста, тогда вы можете определить субконтекст по домену (так как сайты все равно запускаются по домену).

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