Расположение нескольких шаблонов страниц с расширением провайдера FluidTYPO3 - PullRequest
0 голосов
/ 02 мая 2019

как указать несколько местоположений шаблонов страниц с расширением провайдера?

  • TYPO3 9.5.x LTS
  • flux 9.2.0
  • FluidPages 5.2.0

У меня есть расширение провайдера "my_provider" и еще одно "my_provider_extended".Я регистрирую расширение своего провайдера в «my_provider», где я сохраняю шаблоны страниц.

\FluidTYPO3\Flux\Core::registerProviderExtensionKey('Vendor.MyProvider', 'Page');
\FluidTYPO3\Flux\Core::registerProviderExtensionKey('Vendor.MyProvider', 'Content');

Теперь я хочу расширить свои шаблоны страниц, но не в расширении «my_provider», а в «my_provider_extended».Конфигурация TypoScript выглядит следующим образом:

plugin.tx_myprovider.view {
    templateRootPath {
        0 = EXT:my_provider/Resources/Private/Templates/
    1 = EXT:my_provider_extended/Resources/Private/Templates/
    }
    partialRootPath {
        0 = EXT:my_provider/Resources/Private/Partials/
    1 = EXT:my_provider_extended/Resources/Private/Partials/
    }
    layoutRootPath {
    0 = EXT:my_provider/Resources/Private/Layouts/
    1 = EXT:my_provider_extended/Resources/Private/Layouts/
    }
}

Если я перезаписываю существующий шаблон страницы из «my_provider» в «my_provider_extended», все в порядке.

Но если я добавлю новый шаблон страницыв "my_provider_extended" он не будет распознан.

Фоном является то, что я использую расширение "my_provider" в нескольких проектах и ​​регулярно его обновляю.

Это основа во всех моих проектах,поэтому расширение должно быть одинаковым везде.Вообразите это как EXT: новости.Расширение "my_provider_extended" предназначено для конкретных изменений проекта и, при необходимости, перезаписывает шаблоны страниц.

Теперь мне нужен специальный шаблон страницы, который мне больше нигде не нужен.

Возможно ли этосохранить больше шаблонов страниц в других местах и ​​использовать его с расширением поставщика?Что нужно сделать?

1 Ответ

0 голосов
/ 02 мая 2019

В зависимости от того, как вы выбираете шаблоны страниц, вам нужно расширить этот список.

Обычно используемый способ - это выбор backend_layouts, который может быть определен TSconfig.которое может предоставить расширение.
Тогда для каждой записи pages есть поле layout.

, и где-то эти значения должны быть переведены в используемые вами шаблоны жидкости.Это сделано, вероятно, в основной опечатке около page.10.templateName.Там может быть CASE или подобное условие.

...