Автор Тема: дизайн древа категорий  (Прочитано 43312 раз)

Оффлайн pavelsmorchkov

  • Старожил
  • ****
  • Сообщений: 285
    • Просмотр профиля
    • Бренд-шоп.net
Re: дизайн древа категорий
« Ответ #30 : Января 24, 2012, 06:30:48 pm »
Единственное решение которое у меня сработало это http://code.google.com/p/rocon/
не работает(( проверял даже у них на сайте с ИЕ квадратное все

Vladimir

  • Гость
Re: дизайн древа категорий
« Ответ #31 : Января 24, 2012, 08:44:50 pm »
Цитировать
 
pehser
  вы >>> закрыли тег пишите  >>>

смотрю вы еше и 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}
и закрыл теги, но всёравно не открывает категорию в подкатегории :(
« Последнее редактирование: Января 24, 2012, 08:48:02 pm от Vladimir »

topgun

  • Гость
Re: дизайн древа категорий
« Ответ #32 : Января 27, 2012, 03:43:04 pm »
А где меняется шрифт в меню каталога? Хочется покрупнее, плюс "покрупнее" потянет за собой ширину всего блока.

Да тоже не получается, помогите плиз версия лего 5.0.2, т.е увеличить шрифт меню каталога.  хелп пожалуйста.....

Vladimir

  • Гость
Re: дизайн древа категорий
« Ответ #33 : Января 28, 2012, 12:56:46 pm »
Подскажите пожалуйста!
Заказали древовидное меню у sanyok прислал всё (но сейчас не в сети),меню  работает, но единственная проблема третий уровень не выделяется цветом и не настраивается через css.
Что нужно дописать что бы третий уровень тоже выделялся цветом?
Очень нужно, заранее благодарен если кто подскажет.

Сайт uralopt96.ru
Lego 5.0.2

« Последнее редактирование: Февраля 25, 2012, 06:34:01 am от Vladimir »

Vladimir

  • Гость
Re: дизайн древа категорий
« Ответ #34 : Января 28, 2012, 05:23:02 pm »
Переписал, но что то видимо не правильно :(
Тс sanyok, так и не ответил в аське.
Кто сможет дописать стиль за символическую плату пишите в личку. :(

Оффлайн igop

  • Новичек
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: дизайн древа категорий
« Ответ #35 : Февраля 10, 2012, 01:48:06 pm »
Shop-Script "Lego Edition SP 4.6"
Установлен на локальный сервер на Денвере

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

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


Оффлайн sokrbam

  • Спец
  • ***
  • Сообщений: 168
    • Просмотр профиля
    • Оригинальные подарки для девушек
Re: дизайн древа категорий
« Ответ #36 : Июня 13, 2012, 04:05:24 pm »
Подскажите пожалуйста, в данный момент, когда нажимаешь на категорию, то выпадает подкатегория и цвет текста и кнопок там такой же как и у категории, а как сделать чтобы у подкатегорий менялся цвет текста и также беграунд, а когда нажимаешь на подкатегорию то текст выделяется белым а беграунд красным цветом?
« Последнее редактирование: Июня 13, 2012, 04:13:57 pm от sokrbam »

Оффлайн sokrbam

  • Спец
  • ***
  • Сообщений: 168
    • Просмотр профиля
    • Оригинальные подарки для девушек
Re: дизайн древа категорий
« Ответ #37 : Июля 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

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

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

не открывается каталог букетов.
Подскажите как поправить.

Оффлайн sokrbam

  • Спец
  • ***
  • Сообщений: 168
    • Просмотр профиля
    • Оригинальные подарки для девушек
Re: дизайн древа категорий
« Ответ #38 : Июля 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, уже другое меню захочу)

Оффлайн sokrbam

  • Спец
  • ***
  • Сообщений: 168
    • Просмотр профиля
    • Оригинальные подарки для девушек
Re: дизайн древа категорий
« Ответ #39 : Июля 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)');
}
});

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