Да, можно пройти цикл «Дети детей».
Ваш код кажется мне правильным. Он должен работать правильно.
Вот несколько возможных проблем для проверки.
Убедитесь, что для всех страниц на каждом уровне ShowInMenus
установлено значение true. $Children
и $Menu(1)
возвращают только те страницы, для которых ShowInMenus
установлено значение true. Этот флажок можно найти на вкладке «Настройки» любой страницы. В противном случае вы можете использовать $AllChildren
вместо $Children
, чтобы также получить скрытые страницы.
Убедитесь, что в дереве сайта есть страницы глубиной 3 уровня. Очевидная вещь для проверки.
$Model
не является встроенной переменной страницы. Это должна быть пользовательская переменная, которую вы установили. Убедитесь, что для этого задана страница, значения заполнены и она доступна на внешнем интерфейсе.
Вот некоторый код тестового шаблона, который вы можете использовать для проверки вывода дерева вашего сайта. Это может помочь вам в отладке вашей проблемы:
<ul>
<% loop $Menu(1) %>
<li>
<a href="$Link">$Title - $Model</a>
<% if $Children %>
<ul>
<% loop $Children %>
<li>
<a href="$Link">$Title - $Model</a>
<% if $Children %>
<ul>
<% loop $Children %>
<li>
<a href="$Link">$Title - $Model</a>
</li>
<% end_loop %>
</ul>
<% end_if %>
</li>
<% end_loop %>
</ul>
<% end_if %>
</li>
<% end_loop %>
</ul>
person
3dgoo
schedule
29.04.2015
ShowInMenus
?$Children
возвращает только те страницы, для которых установлено значениеShowInMenus
. В противном случае вы также можете использовать$AllChildren
для получения скрытых страниц. Есть ли в дереве сайта страницы глубиной 3 уровня? Что такое$Model
? Это пользовательская переменная, которую вы добавили в класс Page? - person 3dgoo   schedule 29.04.2015