#1 2015-04-06 15:35

stels57
Пользователь

wa_print_tree

Помогите настроить выделение категорий на сайте:как сделать чтобы при выборе категории в шапке вверху появлялась только данная категория (в меню слева) со своими подкатегориями  а остальные скрывались?чтобы при выборе "женская одежда" не светились в меню категорий слева "мужская одежда", "детская одежда" и т.д.
http://forum.webasyst.ru/uploads/15658_11.jpg
http://forum.webasyst.ru/uploads/15658_22.jpg

Неактивен

 

#2 2015-04-06 15:37

stels57
Пользователь

Re: wa_print_tree

я так понял что надо подправить файл category.html
    {if isset($category)}{$selected_category=$category.id}{else}{$selected_category=null}{/if}
                    {wa_print_tree tree=$wa->shop->categories(0, null, true) selected=$selected_category unfolded=false class="menu" elem ='<a href=":url" title=":name">:name</a>'}

только не знаю что на что заменить чтоб работало как я хочу

Неактивен

 

#3 2015-04-06 16:02

PSTime
Пользователь

Re: wa_print_tree

Код:

 {if isset($category)}{$selected_category=$category.id}{else}{$selected_category=null}{/if}
                    {wa_print_tree tree=$wa->shop->categories(0, null, true) selected=$selected_category unfolded=false class="menu" elem ='<a href=":url" title=":name">:name</a>'}

Попробуйте поменять на

Код:

{$cats = $wa->shop->categories($category.id, null, true)}
{$selected_category=null}
{wa_print_tree tree=$cats selected=$selected_category unfolded=false class="menu" elem ='<a href=":url" title=":name">:name</a>'}

Будет не точ что Вам нужно, но близко. И впринципе стилизацией можно добится нужного результата.

Неактивен

 

#4 2015-04-06 16:10

stels57
Пользователь

Re: wa_print_tree

чуть-чуть не то что я хотел,но всё равно спасибо))
при замене кода пропадает меню название родительской категории категорий слева,остается только шапка категорий и названия подкатегорий выбраной категории, при переходе в подкатегорию-пропадает и название подкатегории

какие еще будут предложения??выручайте

Неактивен

 

#5 2015-04-06 16:24

PSTime
Пользователь

Re: wa_print_tree

Код:

{$cats = $wa->shop->categories($category.id, null, true)}
{$selected_category=null}
<ul class="menu">
<li>
<a href="url">{$category.name}</a>
{wa_print_tree tree=$cats selected=$selected_category unfolded=false  elem ='<a href=":url" title=":name">:name</a>'}
</li>
</ul>

url - заменить на ссыдку текущей категории, не помню как, а посмотреть не могу.
Конечно круто было б сделать только одним wa_print_tree , но я не очень знаком  с даныс плагином.

А что должно быть в под категории самого последнего уровня?

Неактивен

 

#6 2015-04-06 16:30

stels57
Пользователь

Re: wa_print_tree

что вы имеет ввиду "А что должно быть в под категории самого последнего уровня?" ?

Неактивен

 

#7 2015-04-06 17:24

PSTime
Пользователь

Re: wa_print_tree

stels57 написал:

что вы имеет ввиду "А что должно быть в под категории самого последнего уровня?" ?

Подошло решение , которое написал выше ?

Неактивен

 

#8 2015-04-06 17:32

stels57
Пользователь

Re: wa_print_tree

не совсем:не работает подсветка категории,например "женская одежда"(фиолетовым цветом,как у меня в теме),при переходе в любую из подкатегорий пропадают остальные подкатегории и категория
http://forum.webasyst.ru/uploads/15658_333.jpg
http://forum.webasyst.ru/uploads/15658_444.jpg

Неактивен

 

#9 2015-04-06 17:44

PSTime
Пользователь

Re: wa_print_tree

Код:

{$cats = $wa->shop->categories($category.id, null, true)}
{$selected_category=null}
<ul class="menu">
<li class="selected">
<a href="url">{$category.name}</a>
{wa_print_tree tree=$cats selected=$selected_category unfolded=false  elem ='<a href=":url" title=":name">:name</a>'}
</li>
</ul>

Для подсветки, что бы работало в подкатегории, нужно получить ид родителя. И вставить его вместо $category.id .
Типа если $cats  пустая, берем не $category.id а $category.parent_id

Неактивен

 

#10 2015-04-06 17:49

stels57
Пользователь

Re: wa_print_tree

подсветка появилась.но все равно при переходе в любую из подкатегорий пропадают остальные
http://forum.webasyst.ru/uploads/15658_78i7i.jpg

Неактивен

 

#11 2015-04-07 09:24

stels57
Пользователь

Re: wa_print_tree

помогите допилять код,осталось совсем чуть-чуть.с меня магарыч)

Неактивен

 

#12 2015-04-07 10:11

PSTime
Пользователь

Re: wa_print_tree

Код:

{$cats = $wa->shop->categories($category.id, null, true)}
{if !$cats}
{$cats = $wa->shop->categories($category.parent_id, null, true)}
{/if}
{$selected_category=null}
<ul class="menu">
<li class="selected">
<a href="url">{$category.name}</a>
{wa_print_tree tree=$cats selected=$selected_category unfolded=false  elem ='<a href=":url" title=":name">:name</a>'}
</li>
</ul>

Так попробуйте.
Так попробуйте. Хотя я все равно не понимаю, что нужно отображать в категориях последнего уровня. На скринах в 1м скриншоте зачёркнуты соседи, а отображена только сама категория и ее дети. А в категорий последнего уровня детей нету, и по скриншоту ничего и не должно отображаться.

Неактивен

 

#13 2015-04-07 10:20

stels57
Пользователь

Re: wa_print_tree

теперь при переходе в подкатегорию,светятся остальные подкатегории тоже(так я и хотел)
скидываю 2 скриншота как я хочу и как сейчас у меня
1)так должно быть:
http://forum.webasyst.ru/uploads/15658_dddddd.jpg

2)так у меня сейчас:
http://forum.webasyst.ru/uploads/15658_n_dddn.jpg

Неактивен

 

#14 2015-04-07 10:23

stels57
Пользователь

Re: wa_print_tree

надо исправить чтоб не дублировалось 2 раза название подкатегории,а было название категории и всех подкатегорий

Неактивен

 

#15 2015-04-07 17:31

stels57
Пользователь

Re: wa_print_tree

куда вы пропали добрые люди?((помогите с кодом пожалуйста

Неактивен

 

#16 2015-04-07 17:46

PSTime
Пользователь

Re: wa_print_tree

Код:

1)так должно быть:
2)так у меня сейчас:

ТАк покажите весь сайт, а то как гадание на кофейно гуще.

Неактивен

 

#17 2015-04-07 17:48

stels57
Пользователь

Неактивен

 

#18 2015-04-07 17:54

PSTime
Пользователь

Re: wa_print_tree

Короче костыль, но.

Код:

{if isset($category)}{$selected_category=$category.id}{else}{$selected_category=null}{/if}
                    {wa_print_tree tree=$wa->shop->categories(0, null, true) selected=$selected_category unfolded=false class="menu" elem ='<a href=":url" title=":name">:name</a>'}
<style>
.menu > li
{
 display: none;
}
.menu > li.selected
{
 display: block;
}

</style>

Или отказываться от wa_print_tree, и писать свое собственное меню.

Неактивен

 

#19 2015-04-07 17:58

stels57
Пользователь

Re: wa_print_tree

последний вариант похож на первые варианты,при переходе в подкатегорию,прячутся все остальные.он не походит.
надо как-нибудь допилить ваш код(он самый удачный пока что)

{$cats = $wa->shop->categories($category.id, null, true)}
{if !$cats}
{$cats = $wa->shop->categories($category.parent_id, null, true)}
{/if}
{$selected_category=null}
<ul class="menu">
<li class="selected">
<a href="url">{$category.name}</a>
{wa_print_tree tree=$cats selected=$selected_category unfolded=false  elem ='<a href=":url" title=":name">:name</a>'}
</li>
</ul>

Неактивен

 

#20 2015-04-07 18:00

stels57
Пользователь

Re: wa_print_tree

может поможет скрин что я хочу
http://forum.webasyst.ru/uploads/15658_07-04-2015_17-59-41.jpg

Неактивен

 

#21 2015-04-08 18:04

rat
Администратор

Re: wa_print_tree

Кажется, вам нужно что-то такое:

Код:

{$category_id = $category.id|default:null}
{$parent_id = $category.parent_id|default:null}
{function tree level=1}
    <ul>
        {foreach $items as $item}
            {if $category_id 
            && ((!$parent_id && $level == 1 && $item.id == $category_id || $level > 1)
                || ($parent_id && $level == 1 && $item.id == $parent_id || $level > 1))}
                <li{if $item.id == $category_id} class="selected"{/if}>
                     <a href="{$item.url}">{$item.name|escape}</a>
                    {if $item.childs|default:null}
                        {tree items=$item.childs level=$level+1}
                    {/if}
                </li>
            {/if}
        {/foreach}
    </ul>
{/function}
{tree items=$wa->shop->categories(0, null, true)}

Неактивен

 

#22 2015-04-08 20:24

stels57
Пользователь

Re: wa_print_tree

не совсем.вот результат вашего последнего кода

http://forum.webasyst.ru/uploads/15658_08-04-2015_20-17-31.jpg


я пока остановился на этом коде:
    {$cats = $wa->shop->categories($category.id, null, true)}
{if !$cats}
{$cats = $wa->shop->categories($category.parent_id, null, true)}
{/if}
{$selected_category=null}
<ul class="menu">
<li class="selected">
<a href="url">{$category.name}</a>
{wa_print_tree tree=$cats selected=$selected_category unfolded=false  elem ='<a href=":url" title=":name">:name</a>'}
</li>
</ul>

http://forum.webasyst.ru/uploads/thumbs/15658_08-04-2015_20-21-56.jpg
http://forum.webasyst.ru/uploads/15658_08-04-2015_20-22-21.jpg

он немного кривоват,но более менее похож на то что мне нужно,но все равно хотелось бы его доделать

Неактивен

 

#23 2015-04-08 22:51

PSTime
Пользователь

Re: wa_print_tree

В коде от rat замените <ul> на <ul class="menu">. Будет норм дизайн. Или он по функционалу не подходит?

Неактивен

 

#24 2015-04-09 07:58

stels57
Пользователь

Re: wa_print_tree

всё работает.спасибо.
и последний штрих:как сделать немного смещение вправо подкатегорий кроме названия "женская одежда"(родительская категория) ?
у меня сейчас пока так:
http://forum.webasyst.ru/uploads/15658_09-04-2015_7-54-25.jpg

надо так:
http://forum.webasyst.ru/uploads/15658_09-04-2015_7-54-55.jpg

Неактивен

 

#25 2015-04-09 12:42

rat
Администратор

Re: wa_print_tree

Добавьте вот такое CSS-правило:

Код:

#menu-vv ul.menu li > ul.menu li { padding-left: 30px; }

Неактивен

 

Board footer

Powered by PunBB