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

Добрый день форумчане!
Подскажите пожалуйста возможно как то разшарить шаблон, или вызвать шаблон внутри шаблона?

Например есть шаблон услуги, у него еще подпункты и у тех еще подпункты, получается что то типа:

Услуги
	Сайты
		Сайт-визитка
		Интернет-магазин
	Визитки
		итд
		итд
	Приложения
		итд
		итд
Делаю следующим образом:

Есть файл base.tpl в директории
elements/templates/base.tpl
С кодом:

<!DOCTYPE html>
<html lang="ru">
    <head>
        {include 'file:chunks/head.tpl'}
    </head>
  <body>
    <header>
        {include 'file:chunks/header.tpl'}
    </header>
    <nav class="hidden-xs hidden-sm">
        {include 'file:chunks/nav.tpl'}
    </nav>
    <main>
        {block 'main'}
            {$_modx->resource.content}
        {/block}
    </main>
    <footer>
        {include 'file:chunks/footer.tpl'}
    </footer>
        {include 'file:chunks/mobile_menu.tpl'}
        {include 'file:chunks/scripts.tpl'}
  </body>
</html>
1) Создаю шаблон услуги, в нем прописываю
{include 'file:templates/service.tpl'}
2) Создаю файл в директории
elements/templates/service.tpl
В нем код:
{extends 'file:templates/base.tpl'}
    {block 'main'}
	Тут код......
    {/block}
т.к. в подуслугах появляются новые блоки, например галереи или же полезные статьи, есть необходимость создания дополнительных шаблонов, вот как это сделать????

Пробовал таким методом:
Создал файл шаблона sub_service.tpl (подменю услуг) и сам шаблон.
В шаблоне написал код
{include 'file:templates/sub_service.tpl'}
В файле service.tpl в месте где необходимо вывести новый шаблон такой код.
{extends 'file:templates/base.tpl'}
    	{block 'main'}
		тут код...
		{block 'Sub_main'}
			тут код...
    		{/block}
    	{/block}
В файле sub_service.tpl такой код
{extends 'file:templates/service.tpl'}
	{block 'Sub_main'}
		тут код...
    	{/block}
Не работает!
В документации читал, там про вложенность ни чего.
Каким способом можно это реализовать?

UPD: Пробовал еще методом условий if или else, но такая каша получается, аж мозги кипят когда на это смотришь.

Заранее спасибо за подсказку!
Сергей
13 июня 2018, 09:40
modx.pro
1 868
0

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

Сергей
13 июня 2018, 16:56
0
ни кто не помогает, вроде нашел решение Решение
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    1