Да, можно пройти петлю «Дети детей».
Ваш код выглядит правильно для меня. Он должен работать правильно.
Вот несколько возможных проблем для проверки.
Убедитесь, что на всех страницах каждого уровня установлено значение 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>
Этот код выглядит нормально. Вы должны иметь возможность прокручивать петлю Children of the Children, как вы делаете. Все ли все страницы настроены на 'ShowInMenus'? '$ Дети' возвращает только те страницы, которые установлены в' ShowInMenus'. В противном случае вы можете использовать '$ AllChildren' для получения скрытых страниц. Имеются ли в дереве сайтов страницы с глубиной 3 уровня? Что такое '$ Model'? Является ли это настраиваемой переменной, которую вы добавили в свой класс? – 3dgoo
@ 3dgoo Да, все страницы, которые я хочу показать, правильно установлены ShowInMenus. Да, есть страницы 3 уровня глубоко. И да, $ Model - это настраиваемая переменная. –
@ 3dgoo, глядя в нее дальше, похоже, что я получаю значение $ Link, но не модель, поэтому мне просто нужно исследовать пользовательскую переменную. Спасибо за вашу помощь; вы хотите переместить свой комментарий, чтобы быть ответом? –