Особенности
        
DLMenu: Особенности 
 
Особенности cниппет DLMenu для вывода меню с помощью DocLister.
С Wayfinder все понятно и так; DLBuildMenu хорош как иллюстрация возможностей параметра prepare, но такой способ решения задачи привел к повышенному потреблению ресурсов, что уже не очень хорошо. К недостаткам DLBuildMenu можно отнести и некоторую сложность при переходе с Wayfinder. В общем, предлагаю свое решение, которое должно преуменьшить недостатки DLBuildMenu, сохранив гибкость в манипуляциях с шаблонами.
Сниппет я написал, конечно, на базе DocLister, расширив контроллер site_content.
    - система шаблонов и классов, схожая с Wayfinder;
 
    - количество запросов равно количеству уровней в меню (без учета запросов на добавление tv-параметров и подсчет дочерних документов)
 
    - собственно, возможность подсчитать количество дочерних ресурсов (для непосредственных родителей);
 
    - почти все параметры можно задавать как для всех уровней меню, так и для конкретного уровня;
 
    - можно использовать prepare для обработки данных и подмены шаблонов; как и в DocLister можно с помощью prepare исключать документы из вывода;
 
    - можно строить меню от нескольких родителей;
 
    - можно держать развернутыми определенные ветки;
 
    - можно вывести меню в виде json-массива;
 
    - кэширование исходных данные для ускорения работы (пойдет в паблик, когда прикрутим к Evo нормальный кэш).
 
Автор:  Pathologic