Quote from: variable at May 27, 2009, 10:47 AM
Если задача в том чтобы не отображать листья , а только ветки, то для wayfinder есть немного брутальное решение.. Папки значит шаблон каталог, а товары шаблон товар.. задал tv - isproduct, по умолчанию product, назначил его шаблону "товар". в rowTpl такая штука <li class="[+wf.classnames+] [+isproduct+]"> .........</li>.. ну и в css .product{display:none;}
Собственно, задача, которую я пытаюсь решить, довольно непроста. Попытаюсь обрисовать ситуацию, может так будет легче определить способ решения.
Как уже упомянул вначале,
имеется каталог продукции с 4-мя уровнями вложенности. (не буду повторять структуру еще раз).
Есть также в отдельной папке документы, которые представляют собой
каталог брендов:
Каталог брендов
бренд 1
бренд 2
бренд 3
бренд 4
и т.д.
Т.е. всего есть 2 структуры: каталог продукции и каталог брендов, которые между собой никак не связаны.
Каждому товару в каталоге с помощью ТВ присвоен бренд.
Требуется создать меню, в котором самый верхний элемент - это название бренда, далее отображается структура каталога продукции, как она есть, но отображаются только те категории и подкатегории, в которых есть хоть один товар, имеющий отношении к текущему бренду. Т.е. скрипт должен для каждого бренда создать меню такого вида:
Бренд 1
Новая техника
Экскаваторы
Колесные
Товар 1
Товар 3
Бренд 2
Новая техника
Экскаваторы
Колесные
Товар 2
и т.д.
Т.е. создается меню, как это делает Wayfinder, но при этом для каждого бренда из каталога продукции выбираются те родительские паппки, в которых у дочерних документов название бренда соответсвует текущему.
Хух. вроде понятно объяснил.

Если что, спрашивайте - уточню.
Я сделал скрипт, который сначала считывает один бренд из папки брендов, потом берет из каталога продукции самую верхнюю папку, напр. НОВАЯ ТЕХНИКА, потом циклом докапывается до списка товаров(товар1, товар2, товар3) и определяет производителя у каждого их них. Если хоть один товар имеет производителя, соответсвующего текущему, то вся ветка документов отображается. И так цикл повторяется для каждой категории и для каждого бренда.
НО! Когда я запустил этот скрипт, сервер сразу же сдох от нагрузки.

Понятное дело, что большое количество циклов ему не понравилось.
Как посоветуете решить эту задачу? Помучиться дальше с рекурсией и циклами или же по-другому оргнизовать стуктуру сайта? Хотелось бы, чтобы каталог брендов и каталог товаров были независимымы, не мешали друг другу во время добавления товаров.
И еще. Я выбрал такую структуру потому, что помимо вышеупомянутого меню на сайте выводится обычное меню, который использует только каталога товаров в том виде, в каком он есть - без брендов. И если объеденить оба каталога(бренды и товары) в один, то тогда решится вопрос номер 1. но возникнет проблема с обычным меню каталога. Так что я выбрал 2 независимых каталога.