Динамический {extends} Fenom

Всем привет.

На сайте несколько контекстов. Есть общие шаблоны, но наследовать их надо от разных. Проблема в том, что динамический {extends} не работает, пример:

{extends ('template:' ~ ('base_template' | option))}

{block 'main'}
    
    <section>
        <div class="{'container_class' | option}">
            Контент...
        </div>
    </section>

{/block}

Результат такой: Сам шаблон наследуется, но блоки не переопределяются, то есть по сути мы получаем родительский шаблон без изменений.

В офф. документации fenom сказано, что имя род. шаблона может быть задано динамически extends fenom

Кто-нибудь сталкивался с такой проблемой?

P.S: PHP 7.3, OpenServer

Дополнено: временное решение нашел, создаем разные шаблоны, где напрямую указываем, какой шаблон наследовать, а общие внутренности выносим в чанк, например:

{* Первый шаблон *}
{extends 'template:1'}

{block 'main'}
    {include 'page.auth'}
{/block}

{* Второй шаблон *}
{extends 'template:24'}

{block 'main'}
    {include 'page.auth'}
{/block}

Так себе конечно вариант, придется 24 шаблона вместо 8 делать (8 общих шаблонов на 3 контекста), и это только пока, возможно потом будет больше контекстов.
Артур
01 февраля 2021, 19:52
modx.pro
73
0

Комментарии: 1

Артур
01 февраля 2021, 21:48
0
Сам шаблон наследуется
То есть документация не врёт.
блоки не переопределяются
Какие блоки и почему они должны переопределяться?
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    1