Suprun4uk Опубликовано 5 декабря, 2015 Жалоба Поделиться Опубликовано 5 декабря, 2015 по первому коду при нажатии на подкатегорию второго уровня товары не выводятся, а выводиться только описание и подкатигории третьего уровня ! Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 5 декабря, 2015 Жалоба Поделиться Опубликовано 5 декабря, 2015 по первому коду при нажатии на подкатегорию второго уровня товары не выводятся, а выводиться только описание и подкатигории третьего уровня ! потому что вы не убрали ваше условие Цитата Ссылка на сообщение Поделиться на другие сайты
Suprun4uk Опубликовано 5 декабря, 2015 Жалоба Поделиться Опубликовано 5 декабря, 2015 я прошу прощения, все логично и правельно работает, нужно с заполнением товарами поиграться, спасибо большое за помощь, извеняюсь за вынос мозга ) Цитата Ссылка на сообщение Поделиться на другие сайты
Suprun4uk Опубликовано 5 декабря, 2015 Жалоба Поделиться Опубликовано 5 декабря, 2015 Снова я ))) прошу помощи, перетыкал все комбинации не как не выстраиваются списком подкатегории 3-тьего уровня они тянут стиль родителя не как не могу избежать этого. {if $category->subcategories} <div class="row"> {function name=categories_sub} <ul> {if $categories} {foreach $categories as $c} <div class="col-sm-3"> <li> <!-- 3 уровень --> {if $c->image} <img src="{$config->categories_images_dir}{$c->image}" alt="{$c->name}" title="{$c->name}" class="img-rounded col-xs-3 col-sm-3 col-md-12 col-lg-12"> <a {if $category->id == $c->id}class="selected"{/if} href="catalog/{$c->url}" data-category="{$c->id}">{$c->name|escape}</a> {if $c->subcategories} {categories_sub categories=$c->subcategories} {/if} <!-- 3 уровень --> {/if} </li> </div> {/foreach} {/if} </ul> {/function} {categories_sub categories=$category->subcategories} </div> {else} <!-- ТОВАР --> {/if} Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 5 декабря, 2015 Жалоба Поделиться Опубликовано 5 декабря, 2015 У ВАс в результате выходит<ul><div class="col-sm-3"><li>...,что очень неверно, так как непосредственно внутри <ul> не должно быть <div>.Может, Вам стоит из приведенного фрагмента удалить все <ul> и <li> ?...перетыкал все комбинации...Тогда должен был перетыкать и правильную комбинацию. Выходит, что задача не решаемая... Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 5 декабря, 2015 Жалоба Поделиться Опубликовано 5 декабря, 2015 Снова я ))) прошу помощи, перетыкал все комбинации не как не выстраиваются списком подкатегории 3-тьего уровня они тянут стиль родителя не как не могу избежать этого. замените внутренний див, это не правильно. достаточно написать так: <li class="col-sm-3"> {if $category->subcategories} <div class="row"> {function name=categories_sub} <ul> {if $categories} {foreach $categories as $c} <li class="col-sm-3"> <!-- 3 уровень --> {if $c->image} <img src="{$config->categories_images_dir}{$c->image}" alt="{$c->name}" title="{$c->name}" class="img-rounded col-xs-3 col-sm-3 col-md-12 col-lg-12"> <a {if $category->id == $c->id}class="selected"{/if} href="catalog/{$c->url}" data-category="{$c->id}">{$c->name|escape}</a> {if $c->subcategories} {categories_sub categories=$c->subcategories} {/if} <!-- 3 уровень --> {/if} </li> {/foreach} {/if} </ul> {/function} {categories_sub categories=$category->subcategories} </div> {else} <!-- ТОВАР --> {/if} дальше смотрите как у вас написаны стили для этого списка. для первого уровня вложенности используйте ul>li>a { ... } Цитата Ссылка на сообщение Поделиться на другие сайты
Suprun4uk Опубликовано 5 декабря, 2015 Жалоба Поделиться Опубликовано 5 декабря, 2015 замените внутренний див, это не правильно. достаточно написать так: <li class="col-sm-3"> {if $category->subcategories} <div class="row"> {function name=categories_sub} <ul> {if $categories} {foreach $categories as $c} <li class="col-sm-3"> <!-- 3 уровень --> {if $c->image} <img src="{$config->categories_images_dir}{$c->image}" alt="{$c->name}" title="{$c->name}" class="img-rounded col-xs-3 col-sm-3 col-md-12 col-lg-12"> <a {if $category->id == $c->id}class="selected"{/if} href="catalog/{$c->url}" data-category="{$c->id}">{$c->name|escape}</a> {if $c->subcategories} {categories_sub categories=$c->subcategories} {/if} <!-- 3 уровень --> {/if} </li> {/foreach} {/if} </ul> {/function} {categories_sub categories=$category->subcategories} </div> {else} <!-- ТОВАР --> {/if} дальше смотрите как у вас написаны стили для этого списка. для первого уровня вложенности используйте ul>li>a { ... } а для второго ul li ul li a я пробовал так меняется лишь цвет ссылки но из за того что подкатегории 3-ур. перетягивают стили родителя я немогу поставить их списком так как под.кат-3ур. у каждого из пунктов значение <li class="col-sm-3"> Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 5 декабря, 2015 Жалоба Поделиться Опубликовано 5 декабря, 2015 а для второго ul li ul li a я пробовал так меняется лишь цвет ссылки но из за того что подкатегории 3-ур. перетягивают стили родителя я немогу поставить их списком так как под.кат-3ур. у каждого из пунктов значение <li class="col-sm-3"> вам нужно класс col-sm-3 для какой вложенности? только 3й? Цитата Ссылка на сообщение Поделиться на другие сайты
Suprun4uk Опубликовано 5 декабря, 2015 Жалоба Поделиться Опубликовано 5 декабря, 2015 вам нужно класс col-sm-3 для какой вложенности? только 3й?только второй Цитата Ссылка на сообщение Поделиться на другие сайты
Suprun4uk Опубликовано 5 декабря, 2015 Жалоба Поделиться Опубликовано 5 декабря, 2015 только второй вот скрин как выходит http://pastenow.ru/GATK Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 5 декабря, 2015 Жалоба Поделиться Опубликовано 5 декабря, 2015 только второй {if $category->subcategories} <div class="row"> {function name=categories_sub} <ul class="menu level_{$level}"> {if $categories} {foreach $categories as $c} <li {if $level==1}class="col-sm-3"{/if}> <!-- 3 уровень --> {if $c->image} <img src="{$config->categories_images_dir}{$c->image}" alt="{$c->name}" title="{$c->name}" class="img-rounded col-xs-3 col-sm-3 col-md-12 col-lg-12"> <a {if $category->id == $c->id}class="selected"{/if} href="catalog/{$c->url}" data-category="{$c->id}">{$c->name|escape}</a> {if $c->subcategories} {categories_sub categories=$c->subcategories level=$level+1} {/if} <!-- 3 уровень --> {/if} </li> {/foreach} {/if} </ul> {/function} {categories_sub categories=$category->subcategories level=0} </div> {else} <!-- ТОВАР --> {/if} Цитата Ссылка на сообщение Поделиться на другие сайты
Suprun4uk Опубликовано 5 декабря, 2015 Жалоба Поделиться Опубликовано 5 декабря, 2015 так получаеться что class="col-sm-3" служит для 3-тей вложенности и включает в сеяб каким то чудом одну из категорий 2-ой вложенности Цитата Ссылка на сообщение Поделиться на другие сайты
Suprun4uk Опубликовано 5 декабря, 2015 Жалоба Поделиться Опубликовано 5 декабря, 2015 (изменено) ... Изменено 5 декабря, 2015 пользователем Suprun4uk Цитата Ссылка на сообщение Поделиться на другие сайты
Suprun4uk Опубликовано 5 декабря, 2015 Жалоба Поделиться Опубликовано 5 декабря, 2015 {categories_sub categories=$c->subcategories level=0} {categories_sub categories=$category->subcategories level=$level+1} поменял значения местами помогло Цитата Ссылка на сообщение Поделиться на другие сайты
Suprun4uk Опубликовано 5 декабря, 2015 Жалоба Поделиться Опубликовано 5 декабря, 2015 mishanya Спасибо вам огромное вроде это оно, буду лепить стили ! Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 5 декабря, 2015 Жалоба Поделиться Опубликовано 5 декабря, 2015 (изменено) {categories_sub categories=$c->subcategories level=0} {categories_sub categories=$category->subcategories level=$level+1} поменял значения местами помогло зачем менять местами), достаточно было тут {if $level==1} поставить нужный левел Изменено 5 декабря, 2015 пользователем mishanya Цитата Ссылка на сообщение Поделиться на другие сайты
Suprun4uk Опубликовано 5 декабря, 2015 Жалоба Поделиться Опубликовано 5 декабря, 2015 зачем менять местами), достаточно было тут {if $level==1} поставить нужный левел Скажите а таким методом исключить вывод изображений в 3-тьем уровне возможно ? Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 5 декабря, 2015 Жалоба Поделиться Опубликовано 5 декабря, 2015 (изменено) Скажите а таким методом исключить вывод изображений в 3-тьем уровне возможно ? {if $category->subcategories} <div class="row"> {function name=categories_sub} <ul class="menu level_{$level}"> {if $categories} {foreach $categories as $c} <li {if $level==2}class="col-sm-3"{/if}> {if $c->image && $level<2} <img src="{$config->categories_images_dir}{$c->image}" alt="{$c->name}" title="{$c->name}" class="img-rounded col-xs-3 col-sm-3 col-md-12 col-lg-12"> {/if} <a {if $category->id == $c->id}class="selected"{/if} href="catalog/{$c->url}" data-category="{$c->id}">{$c->name|escape}</a> {categories_sub categories=$c->subcategories level=$level+1} </li> {/foreach} {/if} </ul> {/function} {categories_sub categories=$category->subcategories level=0} </div> {else} <!-- ТОВАР --> {/if} класс class="col-sm-3" для 3го уровня и фото для уровней 1 и 2 (не выше 2го) Изменено 5 декабря, 2015 пользователем mishanya Цитата Ссылка на сообщение Поделиться на другие сайты
Suprun4uk Опубликовано 5 декабря, 2015 Жалоба Поделиться Опубликовано 5 декабря, 2015 я извиняюсьработает с точностью наоборот таким образом <div class="row"> {function name=categories_sub} <ul class=" level_{$level}"> {if $categories} {foreach $categories as $c} <li {if $level==1}class="thumbnail col-sm-6 col-md-2"{/if}> <!-- 3 уровень --> {if $c->image && $level<1} <img src="{$config->categories_images_dir}{$c->image}" alt="{$c->name}" title="{$c->name}" class="img-rounded col-xs-3 col-sm-3 col-md-12 col-lg-12"> {/if} <h3><a {if $category->id == $c->id}class="selected"{/if} href="catalog/{$c->url}" data-category="{$c->id}">{$c->name|escape}</a></h3> <p> {if $c->subcategories} {categories_sub categories=$c->subcategories level=0} {/if} </p> <!-- 3 уровень --> </li> {/foreach} {/if} </ul> {/function} {categories_sub categories=$category->subcategories level=$level+1} </div> получается убрать картинку только у родителя , в оригинале вашего решения не убирается вовсе Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 5 декабря, 2015 Жалоба Поделиться Опубликовано 5 декабря, 2015 (изменено) я извиняюсь работает с точностью наоборот таким образом <div class="row"> {function name=categories_sub} <ul class=" level_{$level}"> {if $categories} {foreach $categories as $c} <li {if $level==1}class="thumbnail col-sm-6 col-md-2"{/if}> <!-- 3 уровень --> {if $c->image && $level<1} <img src="{$config->categories_images_dir}{$c->image}" alt="{$c->name}" title="{$c->name}" class="img-rounded col-xs-3 col-sm-3 col-md-12 col-lg-12"> {/if} <h3><a {if $category->id == $c->id}class="selected"{/if} href="catalog/{$c->url}" data-category="{$c->id}">{$c->name|escape}</a></h3> <p> {if $c->subcategories} {categories_sub categories=$c->subcategories level=0} {/if} </p> <!-- 3 уровень --> </li> {/foreach} {/if} </ul> {/function} {categories_sub categories=$category->subcategories level=$level+1} </div> получается убрать картинку только у родителя , в оригинале вашего решения не убирается вовсе зачем вы пытаетесь еще что-то приделать туда? выше код который просто нужно скопировать а не придумывать. зачем это условие? {if $c->subcategories} {categories_sub categories=$c->subcategories level=0} {/if} я уже писал, вы не правильно передаете левел. посмотрите как у меня написано. код должен работать: https://yadi.sk/i/rQOT56B5kzfoB и не выводит картинку для второго уровня подкатегорий. Изменено 5 декабря, 2015 пользователем mishanya Цитата Ссылка на сообщение Поделиться на другие сайты
Suprun4uk Опубликовано 5 декабря, 2015 Жалоба Поделиться Опубликовано 5 декабря, 2015 дело в том что я пытаюсь это сделать блоками http://pastenow.ru/GAY6 Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 5 декабря, 2015 Жалоба Поделиться Опубликовано 5 декабря, 2015 дело в том что я пытаюсь это сделать блоками http://pastenow.ru/GAY6 так и? я не вижу у вас уровня 3 совсем. Цитата Ссылка на сообщение Поделиться на другие сайты
Suprun4uk Опубликовано 5 декабря, 2015 Жалоба Поделиться Опубликовано 5 декабря, 2015 так и? я не вижу у вас уровня 3 совсем. Протупил честное слово, весь день сижу за этой чушью, сейчас снова сделал как вы указали изначально все вышло как планировалось, большое спасибо вам Будите в ПМР поставлю магарыч ! Цитата Ссылка на сообщение Поделиться на другие сайты
Suprun4uk Опубликовано 6 декабря, 2015 Жалоба Поделиться Опубликовано 6 декабря, 2015 Приветствую, извиняюсь не могу разобраться, снова вылез косяк ( отображаются подкатегории 4-тых и 5-тых уровней ( можете объяснить принцип работы с этим меню категорий ? Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 6 декабря, 2015 Жалоба Поделиться Опубликовано 6 декабря, 2015 Приветствую, извиняюсь не могу разобраться, снова вылез косяк ( отображаются подкатегории 4-тых и 5-тых уровней ( можете объяснить принцип работы с этим меню категорий ? ну правильно, ф-я рекурсивная и выводит любую вложенность категорий. если нужно ограничить, используйте условие {if $level<3}{/if} таким образом {if $category->subcategories} <div class="row"> {function name=categories_sub} {if $level<3} <ul class="menu level_{$level}"> {if $categories} {foreach $categories as $c} <li {if $level==2}class="col-sm-3"{/if}> {if $c->image && $level<2} <img src="{$config->categories_images_dir}{$c->image}" alt="{$c->name}" title="{$c->name}" class="img-rounded col-xs-3 col-sm-3 col-md-12 col-lg-12"> {/if} <a {if $category->id == $c->id}class="selected"{/if} href="catalog/{$c->url}" data-category="{$c->id}">{$c->name|escape}</a> {categories_sub categories=$c->subcategories level=$level+1} </li> {/foreach} {/if} </ul> {/if} {/function} {categories_sub categories=$category->subcategories level=0} </div> {else} <!-- ТОВАР --> {/if} Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.