RodgerFox Опубликовано 28 мая, 2013 Жалоба Поделиться Опубликовано 28 мая, 2013 Да это жесть! Подскажите пожалуйста, что не так делаю. находимся на втором уровне категорий. Нужно вынести третий уровень. Создаю цикл форич и берем под категории категорий где сейчас, да бы вынести третий уровень категорий, место этого выводится второй уровень. На котором и находимся. Идея с вызовом функции самой себя не подходит ибо не нужно выводить все дочерние категории. Подскажите пожалуйста, что я делаю не так? Сейчас сделал, что то вроде: {foreach $categories as $c0} {foreach $c0->subcategories as $c} {if $c->subcategories}{$c->name}{/if} {/foreach} {/foreach} Но по такой логике не могу ко второму уровню подойти, чую лживую и обидную неточность в своих расуждениях Цитата Ссылка на сообщение Поделиться на другие сайты
RodgerFox Опубликовано 29 мая, 2013 Автор Жалоба Поделиться Опубликовано 29 мая, 2013 Тоже пробовал, не выводится) Была еще идея создать массив со всеми категориями третьего уровня дальше условие что бы относились к категории в которой находятся и форич, но тоже без результата. не понимаю, почему со 2 уровнем прокатывают все манипуляции, а с 3 нет. Просто в бешенстве!!! Цитата Ссылка на сообщение Поделиться на другие сайты
RodgerFox Опубликовано 29 мая, 2013 Автор Жалоба Поделиться Опубликовано 29 мая, 2013 да да.. я нашел свою тупость сделал уже.. забыл суда написать) Но я нашел грабли своего решения, точнее нашел что то обобщенное. Как правильно составить условие, т.е. узнать глубину нахождения в каталоге? если это первый уровень вложений то использую один цикл, если второй то использую другой цикл) Цитата Ссылка на сообщение Поделиться на другие сайты
RodgerFox Опубликовано 29 мая, 2013 Автор Жалоба Поделиться Опубликовано 29 мая, 2013 Какая то магия, но все работает идеально, они друг друга игнорят в зависимости от обстоятельств. Но вопрос ранее все равно интересен. Если все получиться выложу идеальное решение для не тривиального решения. На примере вывода под категорий определенной категории в любой вложенности. Цитата Ссылка на сообщение Поделиться на другие сайты
shooroop Опубликовано 29 мая, 2013 Жалоба Поделиться Опубликовано 29 мая, 2013 RodgerFox.Подскажи временное решение если не сложно Цитата Ссылка на сообщение Поделиться на другие сайты
RodgerFox Опубликовано 29 мая, 2013 Автор Жалоба Поделиться Опубликовано 29 мая, 2013 {foreach $category->subcategories as $c} {if $c->subcategories}{if $c->visible}<a href="catalog/{$c->url}">{$c->name}</a>{/if}{/if} {/foreach} <nav id="subcategories"> <ul> {foreach $categories as $c0} {if in_array( $category->id, $c0->children)} {foreach $c0->subcategories as $c1} {if in_array( $category->id, $c1->children)} {foreach $c1->subcategories as $c} <li><a {if $category->id == $c->id}class="selected"{/if} href="catalog/{$c->url}" data-category="{$c->id}">{$c->name} </a></li> {/foreach} {/if} {/foreach} {/if} {/foreach} </ul> <ul> {foreach item=c from=$subcategories} <li class="lisub"> <a href="catalog/{$c->url}" class="asub">{$c->name}</a> </li> {/foreach} </ul> </nav> Подробнее описать попозже ток. Больше лайков — раньше подробности Цитата Ссылка на сообщение Поделиться на другие сайты
RodgerFox Опубликовано 4 июня, 2013 Автор Жалоба Поделиться Опубликовано 4 июня, 2013 Скрипт работает с ошибкой, если товар находится в нескольких категориях. Пример: имеется товар - рука. И он есть в 2 категориях: Тело -> КонечностиЛисток -> КолымагаТо при заходе в категорию: Листок, вы уведите товар, который относится к категории Колымага, но пункт под меню будет отсутствовать. Найду решение выложу, будет хорошо, если кто то другой опередит. Цитата Ссылка на сообщение Поделиться на другие сайты
RodgerFox Опубликовано 5 июня, 2013 Автор Жалоба Поделиться Опубликовано 5 июня, 2013 нету не у кого более лучшего решения? Цитата Ссылка на сообщение Поделиться на другие сайты
alaster Опубликовано 6 июня, 2013 Жалоба Поделиться Опубликовано 6 июня, 2013 Для работы со списком категорий меня всегда выручал {function name=fun param=value ...} в связке с рекурсией.При необходимости можно передавать через аргумент функции - уровень категорий, на котором сейчас находитесь или необходимость её отображения в раскрытом виде. Цитата Ссылка на сообщение Поделиться на другие сайты
RodgerFox Опубликовано 6 июня, 2013 Автор Жалоба Поделиться Опубликовано 6 июня, 2013 да не, тут проблема в другом оказалась. И скорее вообще не относиться к выводу под категорий, категории в которой сейчас находимся. Там смысл что в категории второго уровня есть товары из других категорий и показывать под категории еще и таких товаров. Как то так >.< Цитата Ссылка на сообщение Поделиться на другие сайты
alaster Опубликовано 7 июня, 2013 Жалоба Поделиться Опубликовано 7 июня, 2013 Давайте попробуем структурировать, написанное. Мы выбираем категорию второго уровня, ее содержание в меню разворачивается и мы видим её подкатегории. Однако, помимо этого чудестным образом начинают отображаться некоторые подкатегории других категорий второго уровня. Проблема в этом? Цитата Ссылка на сообщение Поделиться на другие сайты
RodgerFox Опубликовано 7 июня, 2013 Автор Жалоба Поделиться Опубликовано 7 июня, 2013 Да там все жесче, если интересно можем продолжить. Моё мнение, что это лишний функционал, который к добру не приведет. Есть категория второго уровня, в ней находится товар данной категории и категорий след под уровня., так же в категории имеются товары относящиеся к другой ветке категорий. Есть меню со списком под категорий, относящиеся к данной категории. Необходимо добавить волшебное второе меню, которое будет показывать под категории, на этом уровне, других веток к которым еще относиться товар. Цитата Ссылка на сообщение Поделиться на другие сайты
alaster Опубликовано 7 июня, 2013 Жалоба Поделиться Опубликовано 7 июня, 2013 Может порисуем?) Интерпретировал написанное как: 1) Обсуждается ситуация, когда мы выбрали один определенный товар и находимся на странице с его подробным описанием.2) В меню категорий, должен быть развернут не только путь до основной категории товара, но и пути до всех категорий, в которые этот товар входит? Или все еще хитрее... и надо при выборе категории в каталоге развернуть не только список её подкатегорий. Нужно также найти все категории, в которых входят товары из текущей и отобразить их тоже? Цитата Ссылка на сообщение Поделиться на другие сайты
RodgerFox Опубликовано 7 июня, 2013 Автор Жалоба Поделиться Опубликовано 7 июня, 2013 последний абзац, почти) ну или я чуть не такпонимаю " в которых входят товары из текущей" , т.е. когда товары входят в несколько категорий или веток категорий, и мы находимся на одной ветке. Пример веток:1 - 2,1 - 2.2 1 - 1.1 - 1.2мы на пример в 1.1 , показываем все 1.1-1.n (под категории текущей категории)Есть товары которые входят в 1.1 и 2.1 и т.д., то показываем доп. категории куда еще товар входит. И это только для одного, а на странице каталога таких товаров может быть оч много. По мне это полный бред. И я не знаю как реализовать, что бы этот чертовый перебор не был перебором (да бы время + ресурсы). Можно все еще где то хранить, но когда у тебя 20 категорий второго уровня и в каждой из них есть еще массив категорий. Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.