Legosp Forum

Shop-Script "Legosp" => Дизайн и шаблоны => Тема начата: pavelsmorchkov от Января 13, 2012, 07:00:58 pm

Название: дизайн древа категорий
Отправлено: pavelsmorchkov от Января 13, 2012, 07:00:58 pm
народ помогите прикрутить http://dobrovoi.ru/menyu-akkordeon-na-osnove-jquery-i-css к дереву категорий
Название: Re: дизайн древа категорий
Отправлено: pavelsmorchkov от Января 13, 2012, 07:08:27 pm
код html
[spoiler]<ul class="menu collapsible">
<li>
<a href="#">Рубрики</a>
<ul class="acitem">
<li>
<a href="#">Рубрика 1</a>
</li>
<li><a href="#">Рубрика 2</a></li>
<li><a href="#">Рубрика 3</a></li>
<li><a href="#">Рубрика 4</a></li>
<li><a href="#">Рубрика 5</a></li>
<li><a href="#">Рубрика 6</a></li>
</ul>
</li>
<li>
<a href="#">Архивы</a>
<ul class="acitem">
<li><a href="#">Январь (10)</a></li>
<li><a href="#">Февраль (15)</a></li>
<li><a href="#">Март (8)</a></li>
<li><a href="#">Апрель (12)</a></li>
<li><a href="#">Май (9)</a></li>
<li><a href="#">Июнь (4)</a></li>
</ul>
</li>
</ul>[/spoiler]
<head> и </head> размещаете три заветные строчки:

[spoiler]<script src="jquery-1.4.2.min.js" type="text/javascript"></script>   
<script src="menu.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="style.css" />[/spoiler]
Название: Re: дизайн древа категорий
Отправлено: pavelsmorchkov от Января 13, 2012, 07:08:58 pm
CSS
[spoiler]ul.menu, ul.menu ul {
list-style-type:none;
margin: 0;
padding: 0;
width: 15em;
}
 
ul.menu a {
display: block;
text-decoration: none;
text-align: left;
}
 
ul.menu li {
margin-top: 1px;
}
 
ul.menu li a, ul.menu ul.menu li a {
padding: 0.5em;
/* закругленные углы пунктов меню */
border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
color: #d7d7d7;
border: solid 1px #333;
background: #333;
/* функция градиента для Webkit - браузеров */
background: -webkit-gradient(linear, left top, left bottom, from(#666), to(#000));
/* функция градиента для Firefox + */
background: -moz-linear-gradient(top,  #666,  #000);
/* функция градиента для Opera 11 + */
background-image: -o-linear-gradient(top,rgb(102,102,102),rgb(0,0,0));
/* примочка для тупого IE */
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#666666', endColorstr='#000000');
}
 
ul.menu li a:hover, ul.menu ul.menu li a:hover {
/* фон и градиент пунктов меню при наведении */
background: #000;
background: -webkit-gradient(linear, left top, left bottom, from(#444), to(#000));
background: -moz-linear-gradient(top,  #444,  #000);
background-image: -o-linear-gradient(top,rgb(68,68,68),rgb(0,0,0));
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#444444', endColorstr='#000000');
}
 
ul.menu li ul li a, ul.menu ul.menu li ul li a {
background: #ccc;
color: #000;
padding-left: 20px;
}
 
ul.menu li ul li a:hover, ul.menu ul.menu li ul li a:hover {
background: #aaa;
border-left: 5px #000 solid;
padding-left: 15px;
}
ul.menu ul.menu li a:hover {
border-left: 0;
padding-left: 0.5em;
}
ul.menu ul.menu {
border-left: 5px #f00 solid;
}
ul.menu a.active, ul.menu ul.menu li a.active, ul.menu a.active:hover, ul.menu ul.menu li a.active:hover {
/* фон и градиент активных пунктов меню */
text-decoration: none;
color: #faddde;
border: solid 1px #980c10;
background: #d81b21;
background: -webkit-gradient(linear, left top, left bottom, from(#ed1c24), to(#aa1317));
background: -moz-linear-gradient(top,  #ed1c24,  #aa1317);
background-image: -o-linear-gradient(top,  #ed1c24,  #aa1317);
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ed1c24', endColorstr='#aa1317');
}
div.panel {
border: 1px #000 solid;
padding: 5px;
margin-top: 1px;
}
 
ul.menu div.panel a, ul.menu div.panel li a:hover  {
display :inline;
color: #666;
background: none;
margin: 0;
padding: 0;
border: none;
font-weight: bold;
}
ul.menu div.panel a:hover {
color: #000;
text-decoration: underline;
}[/spoiler]
Название: Re: дизайн древа категорий
Отправлено: pavelsmorchkov от Января 13, 2012, 07:21:34 pm
lego sp5.0.2
шаблон areainfo
Название: Re: дизайн древа категорий
Отправлено: Sergey C. от Января 14, 2012, 12:53:17 pm
Добрый день, уважаемые.
У меня практически тот же вопрос.
Я  пытаюсь прикручитить меню аккордеон, на стандартный шаблон.
Все получилось, все ездиет туда-сюда, проблем нет.
Но только две проблемы:
Как запретить нажимать на ссылку главной категории? Т.е меню простейшее -  три главных категории, две подкатегории у каждой, но если нажымать на главную категорию, то она одновременно разворачивается, но параллельно идет редирект на нажатую ссылку. Во как это поправить?
И второй вопрос - как сделать так, чтобы меню не сворачивалось обратно на нужной категории? Вот на простом развернутом меню, добавляется класс selected, вот как из этого связку с аккордионом сделать?

Кстати, может быть уже есть готовые меню-аккордион для LEGO? Мне не важны стили и дизайн, мне бы принцип понять.

Большое спасибо!
Название: Re: дизайн древа категорий
Отправлено: pavelsmorchkov от Января 14, 2012, 03:44:53 pm
где посмотреть можно ваше меню?
Название: Re: дизайн древа категорий
Отправлено: Sergey C. от Января 14, 2012, 07:49:32 pm
В сети нет еще, код вот:
categories_tree.tpl.html
<ul  id="accordion" class="glossymenu">
    {assign var="old" value=0}
    {assign var="ja" value=0}
    {section name=i loop=$categories_tree}
        {if $categories_tree[i].level==$old && !$smarty.section.i.first}</li> {elseif $categories_tree[i].level>$old} <ul> {/if}
        {if $categories_tree[i].level<$old && $old>0}</li>{/if}
        {if $categories_tree[i].level<$old} </ul></li> {/if}
        <li><div><a href="./{$categories_tree[i].hurl}" {if $categoryID == $categories_tree[i].categoryID} class="selected" {/if}>{$categories_tree[i].name}</a></div>
    {assign var="old" value= $categories_tree[i].level}
    {/section}
</li></ul>

<SCRIPT>
$("#accordion > li > div").click(function(){

if(false == $(this).next().is(':visible')) {
$('#accordion ul').slideUp(300);
}
$(this).next().slideToggle(300);
});


$("#accordion > li > div > a").attr('href', 'javascript:void(null)')
</SCRIPT>

С первым вопросом я разобрался, нашел как по нужному селектору, и на что заменить. Теперь главные категории имеют ссылку javascript:void(null), и при нажатии браузер никуда не перемещается.

Вот теперь остался второй вопрос, моему уму он не под силу.
Я подозреваю, что самый простой момент сделать развернутой нужную категорию на нужной странице, это зацепиться за class="selected", который присваивается выбранной категории.
Нужно составить что-то типа условия:
если есть в дереве ссылка с таким классом, то развернуть категорию.
Я пробовал, но я нуб, я так не умею.
Уверен среди вас есть опытные веб-программисты, для которых это не проблема.
С уважением!
Название: Re: дизайн древа категорий
Отправлено: Sergey C. от Января 14, 2012, 08:33:53 pm
slamm, спасибо, но не работает.
Код categories_tree.tpl.html я привел выше.
Вот то, что отображается в браузере
<div id="category" class="middle">

  <ul  id="accordion" class="glossymenu">

                                            <li><div><a href="./catalog/avtomobili/" >Автомобили</a></div>

                 <ul>                         <li><div><a href="./catalog/mercedes/" >Mercedes</a></div>

                </li>                         <li><div><a href="./catalog/toyota/" >Toyota</a></div>

                </li>                         <li><div><a href="./catalog/lexus/" >Lexus</a></div>

                </li>                         <li><div><a href="./catalog/lotus/" >Lotus</a></div>

                </li>                         <li><div><a href="./catalog/lamborghini/" >Lamborghini</a></div>

                        </li>         </ul></li>         <li><div><a href="./catalog/sotovaya-svyaz/" >Сотовая связь</a></div>

                 <ul>                         <li><div><a href="./catalog/samsung/" >Samsung</a></div>

                 <ul>                         <li><div><a href="./catalog/aksessuary/" >Аксессуары</a></div>

                        </li>         </ul></li>         <li><div><a href="./catalog/ericsson/" >Ericsson</a></div>

                </li>                         <li><div><a href="./catalog/nokia/" >Nokia</a></div>

                 <ul>                         <li><div><a href="./catalog/aksessuary/" >Аксессуары</a></div>

                        </li>         </ul></li>         <li><div><a href="./catalog/siemens/" >Siemens</a></div>

                        </li>         </ul></li>         <li><div><a href="./catalog/sport/" >Спорт</a></div>

                 <ul>                         <li><div><a href="./catalog/roliki/" >Ролики</a></div>

                </li>                         <li><div><a href="./catalog/snoubordy/" >Сноуборды</a></div>

                </li>                         <li><div><a href="./catalog/velosipedy/" >Велосипеды</a></div>

                        </li>         </ul></li>         <li><div><a href="./catalog/audio-video/" >Аудио / Видео</a></div>

                 <ul>                         <li><div><a href="./catalog/dvd/" >DVD</a></div>

                </li>                         <li><div><a href="./catalog/mp3pleery/"  class="selected" >mp3-плееры</a></div>

                </li>                         <li><div><a href="./catalog/domashnie-kinoteatry/" >Домашние кинотеатры</a></div>

                        </li>         </ul></li>         <li><div><a href="./catalog/napitki/" >Напитки</a></div>

                 <ul>                         <li><div><a href="./catalog/alkogolnye/" >Алкогольные</a></div>

                </li>                         <li><div><a href="./catalog/bezalkogolnye/" >Безалкогольные</a></div>

                        </li>         </ul></li>         <li><div><a href="./catalog/knigi/" >Книги</a></div>

                 <ul>                         <li><div><a href="./catalog/garri-potter/" >Гарри Поттер</a></div>

                </li>                         <li><div><a href="./catalog/dizain/" >Дизайн</a></div>

                </li>                         <li><div><a href="./catalog/programmirovanie/" >Программирование</a></div>

                        </li>         </ul></li>         <li><div><a href="./catalog/odezhda/" >Одежда</a></div>

                 <ul>                         <li><div><a href="./catalog/zimnyaya/" >Зимняя</a></div>

                </li>                         <li><div><a href="./catalog/letnyaya/" >Летняя</a></div>

                </li>                         <li><div><a href="./catalog/domashnyaya/" >Домашняя</a></div>

                </li>                         <li><div><a href="./catalog/klassicheskaya/" >Классическая</a></div>

                        </li>         </ul></li>         <li><div><a href="./catalog/kompyutery/" >Компьютеры</a></div>

                 <ul>                         <li><div><a href="./catalog/noutbuki/" >Ноутбуки</a></div>

                </li>                         <li><div><a href="./catalog/kpk/" >КПК</a></div>

                </li>                         <li><div><a href="./catalog/personalnye/" >Персональные</a></div>

                </li>                         <li><div><a href="./catalog/multimedia/" >Мультимедиа</a></div>

        </li></ul>


Вот этот пример я использовал для аккордиона:
http://viralpatel.net/blogs/demo/jquery-accordion-menu-example/
Только стили вынес в stylesheet.css, и удалил строчку в самом вызове функции, чтобы изначально все было закрыто.
$('#accordion ul:eq(0)').show();
Название: Re: дизайн древа категорий
Отправлено: nictboom от Января 14, 2012, 08:38:23 pm
если не ошибаюсь, category_tree.tpl.html не совсем корректно отображает иерархию.
последующие категории главные, вложены в предидущюю и т.д.

Sergey C не у верен что будет всё нормально, для 3-его уровня вложения категорий, например:
кат1->
         кат1.1->
                 кат1.1.1 - уже не видно
         кат1.2->
         кат1.3->
кат2->

Название: Re: дизайн древа категорий
Отправлено: Sergey C. от Января 14, 2012, 09:02:06 pm
nictboom, дальнейшие вложения мне не понадобятся.

Здесь category_tree.tpl.html вообще очень странно написаны.
Вот, например, здесь советуют все поменять, ничего не работает:
http://legosp.blogspot.com/2011/05/blog-post_27.html
Я уже все поперепробовал, ближе всего вариант с показом нужной категории по class="selected"
Название: Re: дизайн древа категорий
Отправлено: nictboom от Января 14, 2012, 09:10:00 pm
js меню в шаблоне используется?
Название: Re: дизайн древа категорий
Отправлено: Sergey C. от Января 14, 2012, 09:14:14 pm
Не уверен о чем вы спрашиваете.
Шаблон самый обычный, находится в /css_default-full/
В нем кроме меню ничего не трогал, все коды меню привел выше.
Название: Re: дизайн древа категорий
Отправлено: pavelsmorchkov от Января 16, 2012, 01:44:05 pm
а как убрать стрелочки с подкатегорий при выборе? оставить только выделение цветом
Название: Re: дизайн древа категорий
Отправлено: pavelsmorchkov от Января 16, 2012, 05:51:47 pm
спасибо)))
Название: Re: дизайн древа категорий
Отправлено: pavelsmorchkov от Января 20, 2012, 01:31:12 pm
а как сделать стрелочки на главные категории?
Название: Re: дизайн древа категорий
Отправлено: pavelsmorchkov от Января 20, 2012, 06:43:00 pm
спасиб)
Название: Re: дизайн древа категорий
Отправлено: Vladimir от Января 20, 2012, 08:36:52 pm
А можно сделать что бы отображались:
Цитировать
Категория- >
    подкатегория1- >
       подкатегория2

Просто сейчас отображается только так:
Цитировать
Категория- >
   подкатегория1

Заранее спасибо за помошь :(
Название: Re: дизайн древа категорий
Отправлено: MikeS от Января 21, 2012, 09:27:26 pm
А где меняется шрифт в меню каталога? Хочется покрупнее, плюс "покрупнее" потянет за собой ширину всего блока.
Название: Re: дизайн древа категорий
Отправлено: pavelsmorchkov от Января 23, 2012, 07:32:39 pm
что прописать нужно для ИЕ??? чтобы углы скругленые были а не квадратные
Название: Re: дизайн древа категорий
Отправлено: pavelsmorchkov от Января 23, 2012, 07:43:14 pm
это печально...
Название: Re: дизайн древа категорий
Отправлено: Юрий от Января 23, 2012, 07:56:32 pm
Изображениями пробуй.
Название: Re: дизайн древа категорий
Отправлено: pavelsmorchkov от Января 23, 2012, 08:29:36 pm
единственный вариант) картинка) везде работает без проблем))
Название: Re: дизайн древа категорий
Отправлено: pavelsmorchkov от Января 23, 2012, 10:27:07 pm
не помогло почему то(((
Название: Re: дизайн древа категорий
Отправлено: nictboom от Января 24, 2012, 12:51:29 am
Цитировать
а чтоб в IE работало добовляем в стиль  PIE.htc
есть такое и работает, но порой, если много border-radius в ксс,  ие "жуткое" поведение приобретает, тормоза...
я частично отказался.
Название: Re: дизайн древа категорий
Отправлено: nictboom от Января 24, 2012, 01:14:29 am
не помогло почему то(((
проще в корень кинуть(что бы в путях не блудить) и в ксс:
behavior: url('PIE.htc');
Название: Re: дизайн древа категорий
Отправлено: pavelsmorchkov от Января 24, 2012, 12:15:24 pm
Я как пример привел для клсасса .search а вам нудо для вашего класса прописывать
я для своего класса прописывал)
Название: Re: дизайн древа категорий
Отправлено: pavelsmorchkov от Января 24, 2012, 03:15:13 pm
сейчас выложу
Название: Re: дизайн древа категорий
Отправлено: pavelsmorchkov от Января 24, 2012, 03:20:06 pm
vrnparfum.ru готово!)
Название: Re: дизайн древа категорий
Отправлено: pavelsmorchkov от Января 24, 2012, 05:15:30 pm
спасибо щас попробую
Название: Re: дизайн древа категорий
Отправлено: Vladimir от Января 24, 2012, 05:46:16 pm
Цитировать
А можно сделать что бы отображались:
    Просто сейчас отображается только так:
    Заранее спасибо за помошь :(
pehser
{if $categories_tree.level<$categories_tree[i.index_next].level} >>>{/if}
Спасибо но только так получилось  :(
http://uralopt96.org.ua
Название: Re: дизайн древа категорий
Отправлено: pavelsmorchkov от Января 24, 2012, 06:30:48 pm
Единственное решение которое у меня сработало это http://code.google.com/p/rocon/
не работает(( проверял даже у них на сайте с ИЕ квадратное все
Название: Re: дизайн древа категорий
Отправлено: Vladimir от Января 24, 2012, 08:44:50 pm
Цитировать
 
pehser
  вы >>> закрыли тег пишите  &gt;&gt;&gt;

смотрю вы еше и js туда накрутили вообшем теперь фиг поймеш что там и как
Убрал js и css вставил category_tree.tpl.html как переделал slamm
[spoiler]{literal}
<script type="text/javascript">
   $(document).ready(function() {
      $("#accordion > li > div").click(function() {
         if(false == $(this).next().is(':visible')) {
            $('#accordion ul').slideUp(300);
         }
         $(this).next().slideToggle(300);
      });

      $("#accordion > li > div > a").attr('href', 'javascript:void(null)');

      $("#accordion > li").click(function() {
         var id_menu = $(this).attr('id');
         $.cookie('idmenu', id_menu, {expires: 1, path: '/'});
      });
      
      if ($.cookie('idmenu')) {
         $('#'+$.cookie('idmenu')+' > ul').show();
      }
   });
</script>
{/literal}

<STYLE>
#accordion {
   list-style: none;
   padding: 0 0 0 0;
   width: 150px;
}
#accordion div {
   display: block;
   background-color: #FF9927;
   font-weight: bold;
   margin: 1px;
   cursor: pointer;
   padding: 5px 5px 5px 7px;
   list-style: circle;
   -moz-border-radius: 10px;
   -webkit-border-radius: 10px;
   border-radius: 10px;
}
#accordion ul {
   list-style: none;
   padding: 0 0 0 0;
}
#accordion ul{
   display: none;
}
#accordion ul li {
   font-weight: normal;
   cursor: auto;
   background-color: #fff;
   padding: 0 0 0 7px;
}
#accordion a {
   text-decoration: none;
}
#accordion a:hover {
   text-decoration: underline;
}

#accordion a.selected {
   color: black;
}
</STYLE>

{if !$categoryID}
   <script type="text/javascript">
      $.cookie('idmenu', null);
      $('#accordion ul:eq(0)').show();
   </script>
{/if}

<ul  id="accordion" class="glossymenu">
    {assign var="old" value=0}
    {assign var="ja" value=0}
    {section name=i loop=$categories_tree}
        {if $categories_tree.level==$old && !$smarty.section.i.first}</li> {elseif $categories_tree.level>$old} <ul> {/if}
        {if $categories_tree.level<$old && $old>0}</li>{/if}
        {if $categories_tree.level<$old} </ul> {/if}
        <li{if $categories_tree.level==0} id="i{$categories_tree.categoryID}"{/if}><div>{if $categoryID == $categories_tree.categoryID} >>>{/if}<a href="./{$categories_tree.hurl}" {if $categoryID == $categories_tree.categoryID} class="selected" {/if}>{$categories_tree.name}</a></div>
    {assign var="old" value= $categories_tree.level}
    {/section}
</li></ul>[/spoiler] добавил
Цитировать
{if $categories_tree.level<$categories_tree[i.index_next].level} >>>{/if}
и закрыл теги, но всёравно не открывает категорию в подкатегории :(
Название: Re: дизайн древа категорий
Отправлено: topgun от Января 27, 2012, 03:43:04 pm
А где меняется шрифт в меню каталога? Хочется покрупнее, плюс "покрупнее" потянет за собой ширину всего блока.

Да тоже не получается, помогите плиз версия лего 5.0.2, т.е увеличить шрифт меню каталога.  хелп пожалуйста.....
Название: Re: дизайн древа категорий
Отправлено: Vladimir от Января 28, 2012, 12:56:46 pm
Подскажите пожалуйста!
Заказали древовидное меню у sanyok прислал всё (но сейчас не в сети),меню  работает, но единственная проблема третий уровень не выделяется цветом и не настраивается через css.
Что нужно дописать что бы третий уровень тоже выделялся цветом?
Очень нужно, заранее благодарен если кто подскажет.

Сайт uralopt96.ru
Lego 5.0.2

Название: Re: дизайн древа категорий
Отправлено: Vladimir от Января 28, 2012, 05:23:02 pm
Переписал, но что то видимо не правильно :(
Тс sanyok, так и не ответил в аське.
Кто сможет дописать стиль за символическую плату пишите в личку. :(
Название: Re: дизайн древа категорий
Отправлено: igop от Февраля 10, 2012, 01:48:06 pm
Shop-Script "Lego Edition SP 4.6"
Установлен на локальный сервер на Денвере

Необходимо в дереве категорий вместе с категориями и субкатегориями выводить и наименование товаров
Например:
Кат1
--Суб кат 1
----Товар 1
----Товар 2
Кат2
--Суб кат 2
----Товар 3
----Товар 4

Я так понимаю, что для этого нужно вносить изменения в коде (файл category_functions.php)

Название: Re: дизайн древа категорий
Отправлено: sokrbam от Июня 13, 2012, 04:05:24 pm
Подскажите пожалуйста, в данный момент, когда нажимаешь на категорию, то выпадает подкатегория и цвет текста и кнопок там такой же как и у категории, а как сделать чтобы у подкатегорий менялся цвет текста и также беграунд, а когда нажимаешь на подкатегорию то текст выделяется белым а беграунд красным цветом?
Название: Re: дизайн древа категорий
Отправлено: sokrbam от Июля 10, 2012, 01:34:14 am

_________
Отредактировано!
Вот, накидал, я всё запихнул в один файл category_tree.tpl.html что бы много не расписывать, а вы если хотите красивости, пихайте стили в css скрипты в js и оформляйте под себя как вам хочется.

[spoiler]
{literal}
<script type="text/javascript">
$(document).ready(function() {
$("#accordion > li > div").click(function() {
if(false == $(this).next().is(':visible')) {
$('#accordion ul').slideUp(300);
}
$(this).next().slideToggle(300);
});

$("#accordion > li > div > a").attr('href', 'javascript:void(null)');

$("#accordion > li").click(function() {
var id_menu = $(this).attr('id');
$.cookie('idmenu', id_menu, {expires: 1, path: '/'});
});

if ($.cookie('idmenu')) {
$('#'+$.cookie('idmenu')+' > ul').show();
}
});
</script>
{/literal}

<STYLE>
#accordion {
list-style: none;
padding: 0 0 0 0;
width: 150px;
}
#accordion div {
display: block;
background-color: #FF9927;
font-weight: bold;
margin: 1px;
cursor: pointer;
padding: 5px 5px 5px 7px;
list-style: circle;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
}
#accordion ul {
list-style: none;
padding: 0 0 0 0;
}
#accordion ul{
display: none;
}
#accordion ul li {
font-weight: normal;
cursor: auto;
background-color: #fff;
padding: 0 0 0 7px;
}
#accordion a {
text-decoration: none;
}
#accordion a:hover {
text-decoration: underline;
}

#accordion a.selected {
color: black;
}
</STYLE>

{if !$categoryID}
<script type="text/javascript">
$.cookie('idmenu', null);
$('#accordion ul:eq(0)').show();
</script>
{/if}

<ul  id="accordion" class="glossymenu">
    {assign var="old" value=0}
    {assign var="ja" value=0}
    {section name=i loop=$categories_tree}
        {if $categories_tree[i].level==$old && !$smarty.section.i.first}</li> {elseif $categories_tree[i].level>$old} <ul> {/if}
        {if $categories_tree[i].level<$old && $old>0}</li>{/if}
        {if $categories_tree[i].level<$old} </ul> {/if}
        <li{if $categories_tree[i].level==0} id="i{$categories_tree[i].categoryID}"{/if}><div>{if $categoryID == $categories_tree[i].categoryID} >>>{/if}<a href="./{$categories_tree[i].hurl}" {if $categoryID == $categories_tree[i].categoryID} class="selected" {/if}>{$categories_tree[i].name}</a></div>
    {assign var="old" value= $categories_tree[i].level}
    {/section}
</li></ul>
[/spoiler]

Захотите отблагодарить, я не против, смотрите подпись!  ;)

P.S. Забыл дописать, но думаю вы догадались что нужно в админке поставить Развёрнутое меню.

По данному примеру все хорошо работает, но если у категории нет подкатегорий, то ссылка не кликабельна.

если такая структура, то работает:

Сотовая связь
  nokia
  samsung

а при таком случае, не работает:

Букеты цветов

не открывается каталог букетов.
Подскажите как поправить.
Название: Re: дизайн древа категорий
Отправлено: sokrbam от Июля 11, 2012, 04:45:37 pm
Ой уже и не помню даже, давно это было.
Пересмотрите тему, по моему это уже кто то спрашивал, но только на оборот, просили сделать категории не ссылками, подсмотрите решение..
Или если нужен алгоритм работы, то вот:
подсчитать количество вложенных элементов подкатегории, если такие есть, то ссылки не делаем
$("#accordion > li > div > a").attr('href', 'javascript:void(null)');а если нету то оставляем ссылку.

Я честно говоря с javascript еще не совсем знаком, чисто интуитивно удаляю добавляю)
Пробовал убрать эту строчку $("#accordion > li > div > a").attr('href', 'javascript:void(null)');В таком случае теперь могу нажать на категорию где нет вложений. Но, тогда начинается беспредел когда открываешь категорию где есть вложения, а именно: каждый раз когда нажимаешь на ссылки категорий страница моргает (перегружается) и не сворачивается подкатегории при нажатии на категорию. Поможите плиз. а то пока я пройду курс javascript, уже другое меню захочу)
Название: Re: дизайн древа категорий
Отправлено: sokrbam от Июля 20, 2012, 12:23:12 am
Убираете или комментируете эту строчку $("#accordion > li > div > a").attr('href', 'javascript:void(null)');Потом сразу после $(document).ready(function() { добавляете следующий код:
$("#accordion > li").click(function() {
var id = $(this).attr("id");
if ($("#" + id).find("ul").size() > 0) {
$("#" + id + " > div > a").attr('href', 'javascript:void(null)');
}
});

Все в лучшем виде! Спасибо