Как поставить на определенную глубину свой чанк? Т.е. есть ресурсы, к примеру новости, как на страницу вывести к примеру текст из нынешней новости и список ее дочерних с ссылками на дочерние?
Чтоб хоть как то упростить, приведу пример дерева этих новостей
Новость
--Подновость 1
----ПодподНовость1
----ПодподНовость 2
----...
----ПодподНовость Х
--Подновость 2
----...
--...
--Подновость Х
----ПодподНовость 1
----...
----ПодподНовость Х
Нужно вывести примерно так(хотелось бы):
<div>Заголовок нынешней новости</div>
<div>ее текст</div>
(foreach всех ее подновостей){
<div>заголовок Подновость нынешней новости
<p>вводный текст подновости</p>
(foreach всех ее потомков){
<div>заголовок</div>
}
}
Ditto может такое сделать?
Попробуйте использовать в вызове Ditto параметр depth=`уровень_вложенности` - он будет обрабатывать вложенность документов до указанного уровня
Если подробно выводить надо текущую страницу, а для всех остальных только заголовки, можно попробовать использовать Wayfinder.
Все, разобрался... Просто в чанке вызываю еще раз дитто для этого элемента.
Теперь другой вопрос, почему нельзя вызвать некешируемый дитто в чанке, который используется другим дитто?
Т.е.
[!Ditto? &tpl=`chunkFather`!]
Код chunkFather:
[+pagetitle+]
<ul>
[!Ditto? &parents=`anyChank`!]
</ul>
И еще: Как отсортировать по menuindex? (&orderBy=`menuindex` пишет ошибку, что нет такого поля в запросе)
Если загнать так, то он просто выведет вызов как текс, если ставить кешируемый, то все ок... Почему, кто знает?
P.S. ну и еще так делать нормально? не нагрузит это сервер?
Поможет PHx + сниппет определения уровня вложенности.
Сниппет есть в русской ветке форума.
По моему сортировать надо как sortBy=`menuindex`. Попробуйте так, должно все работать.
На счет нагрузки на сервер ничего сказать не могу, никогда не интересовался этим вопросом.