Как решает 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) и установить этот параметр по-разному для каждого субконтекста, тогда вы можете определить субконтекст по домену (так как сайты все равно запускаются по домену).