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

Оффлайн cool_roman

  • Пользователь
  • **
  • Сообщений: 78
    • Просмотр профиля
древо категорий
« : Июля 18, 2012, 08:46:01 am »
Здравствуйте. пользуюсь lego 5.0.2
читал вот здесь http://forum.shop-script.org/dizain_i_shablony/dizain_dreva_kategorii/
все что смог реализовал
но вместо 4 категорий - показывает одну.. и в этой одной - все салатом :(
должно быть:
категория 1
   подкатегория 1
   подкатегория 2
   подкатегория 3
   и т.д.
категория 2
   подкатегория 1
             --подкатегория 1
             --подкатегория 2
             --подкатегория 3
   подкатегория 2
   подкатегория 3
и т.д.
а после того что я воткнул скрипт с вышеуказаного линка все линки работают как надо,
но выглядит так:
категория 1
   подкатегория 1
   подкатегория 2
   подкатегория 3
   категория 2
   категория 3
то есть потерялись все подкатегории кроме тех что находятся под первой
не знаю где прачить  и что...
уважаемые программисты помогите пожалуйста
http://rmis.sytes.net
заранее спасибо

ED

  • Гость
Re: древо категорий
« Ответ #1 : Июля 18, 2012, 09:24:43 pm »
у меня аналогичная проблема :(

Оффлайн cool_roman

  • Пользователь
  • **
  • Сообщений: 78
    • Просмотр профиля
Re: древо категорий
« Ответ #2 : Июля 19, 2012, 06:46:08 am »
спасибо slamm
я просто скопировал код который вы написали с прежнего поста http://forum.shop-script.org/dizain_i_shablony/dizain_dreva_kategorii/
{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;
color: #FFFFFF;
}
#accordion div {
display: block;
background-color: #990033;
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;
color: white;
}
#accordion a:hover {
text-decoration: underline;
}

#accordion a.selected {
color: white;
}
.glossymenu a
{
  font-size: 14px;
}
</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}<img src="./images/favicon.ico" width="15">{/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>
и честно говоря в css разобрался а в js не могу :(

ED

  • Гость
Re: древо категорий
« Ответ #3 : Июля 19, 2012, 09:47:01 am »
cool_roman Вы разобрались с меню ?

Оффлайн cool_roman

  • Пользователь
  • **
  • Сообщений: 78
    • Просмотр профиля
Re: древо категорий
« Ответ #4 : Июля 20, 2012, 07:33:17 am »
к сожалению - нет

Оффлайн cool_roman

  • Пользователь
  • **
  • Сообщений: 78
    • Просмотр профиля
Re: древо категорий
« Ответ #5 : Июля 20, 2012, 08:00:48 am »
вот что творится в source с оригинальным кодом скопированого с  http://forum.shop-script.org/dizain_i_shablony/dizain_dreva_kategorii/

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

<ul  id="accordion" class="glossymenu">
                                            <li id="i1"><div><a href="./index.php?categoryID=1" >נרתיקים וכיסויים</a></div>
                 <ul>                         <li><div><a href="./index.php?categoryID=8" >IPHONE</a></div>
                </li>                         <li><div><a href="./index.php?categoryID=9" >NOKIA</a></div>
                </li>                         <li><div><a href="./index.php?categoryID=24" >Blackberry</a></div>
                </li>                         <li><div><a href="./index.php?categoryID=63" >Sony Ericsson</a></div>
                </li>                         <li><div><a href="./index.php?categoryID=64" >SAMSUNG</a></div>
                </li>                         <li><div><a href="./index.php?categoryID=78" >HTC</a></div>
                </li>                         <li><div><a href="./index.php?categoryID=79" >Tablet PC</a></div>
                 <ul>                         <li><div><a href="./index.php?categoryID=80" >ASUS</a></div>
                </li>                         <li><div><a href="./index.php?categoryID=81" >Samsung</a></div>
                </li>                         <li><div><a href="./index.php?categoryID=82" >Motorola</a></div>
                </li>                         <li><div><a href="./index.php?categoryID=94" >APPLE</a></div>
                        </li>         </ul>         <li id="i2"><div><a href="./index.php?categoryID=2" >אביזרים</a></div>
                 <ul>                         <li><div><a href="./index.php?categoryID=14" >סוללות</a></div>
                 <ul>                         <li><div><a href="./index.php?categoryID=19" >NOKIA</a></div>
                </li>                         <li><div><a href="./index.php?categoryID=85" >SAMSUNG</a></div>
                </li>                         <li><div><a href="./index.php?categoryID=93" >IPhone</a></div>
                        </li>         </ul>         <li><div><a href="./index.php?categoryID=15" >מגינים</a></div>
                 <ul>                         <li><div><a href="./index.php?categoryID=86" >IPhone</a></div>
                </li>                         <li><div><a href="./index.php?categoryID=87" >Samsung</a></div>
                </li>                         <li><div><a href="./index.php?categoryID=88" >Sony Ericsson</a></div>
                </li>                         <li><div><a href="./index.php?categoryID=89" >HTC</a></div>
                </li>                         <li><div><a href="./index.php?categoryID=92" >ASUS</a></div>
                        </li>         </ul>         <li><div><a href="./index.php?categoryID=17" >מעמד לרכב</a></div>
                </li>                         <li><div><a href="./index.php?categoryID=83" >Chargers</a></div>
                </li>                         <li><div><a href="./index.php?categoryID=84" >כבל USB</a></div>
                        </li>         </ul>         <li id="i3"><div><a href="./index.php?categoryID=3" >מוצרי BLUETOOTH</a></div>
                 <ul>                         <li><div><a href="./index.php?categoryID=12" >דיבורית לרכב BLUETOOTH</a></div>
                </li>                         <li><div><a href="./index.php?categoryID=90" >אוזניות BLUETOOTH</a></div>
                        </li>         </ul>         <li id="i4"><div><a href="./index.php?categoryID=4" >אוזניות</a></div>
                 <ul>                         <li><div><a href="./index.php?categoryID=95" >Sennheiser</a></div>
                </li>                         <li><div><a href="./index.php?categoryID=96" >Skullcandy</a></div>
                </li>                         <li><div><a href="./index.php?categoryID=97" >Beats</a></div>
                        </li>         </ul>         <li id="i91"><div><a href="./index.php?categoryID=91" >מצלמות</a></div>
        </li></ul>        </div>
проблема в том что все <li></li> и <ul></ul> выложены в условиях... а условия я не могу понять...
кто-нибудь - помогите плиз

Оффлайн cool_roman

  • Пользователь
  • **
  • Сообщений: 78
    • Просмотр профиля
Re: древо категорий
« Ответ #6 : Июля 20, 2012, 05:07:25 pm »
slamm спасибо
вот код
{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;
color: #FFFFFF;
}
#accordion div {
display: block;
background-color: #990033;
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;
color: white;
}
#accordion a:hover {
text-decoration: underline;
}

#accordion a.selected {
color: white;
}
.glossymenu a
{
  font-size: 14px;
}
</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}<img src="./images/favicon.ico" width="15">{/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>
сайт http://rmis.sytes.net

Оффлайн cool_roman

  • Пользователь
  • **
  • Сообщений: 78
    • Просмотр профиля
Re: древо категорий
« Ответ #7 : Июля 20, 2012, 06:18:23 pm »
это меню у меня и было.. но хочется красивости немного
то меню что slamm выставил вроде нормальное только не отображает всего что надо

Оффлайн cool_roman

  • Пользователь
  • **
  • Сообщений: 78
    • Просмотр профиля
Re: древо категорий
« Ответ #8 : Июля 21, 2012, 12:05:02 am »
то есть аккордеон никак не получится "починить",?

Оффлайн cool_roman

  • Пользователь
  • **
  • Сообщений: 78
    • Просмотр профиля
Re: древо категорий
« Ответ #9 : Июля 21, 2012, 01:00:57 am »
когда меню в админке свернутое то видно как надо,
 но не работают ссылки и не работает "аккордеон"
т.е. видно только главные категории вот так

а когда развернутое меню то до нажатия вот так

а после нажатия

стрелки указывают на главные категории (кроме tablet pc)это подкатегория под которой есть еще подкатегории.
возможно ли решить проблему,
код category_tree.tpl.html
{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;
color: #FFFFFF;
}
#accordion div {
display: block;
background-color: #990033;
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;
color: white;
}
#accordion a:hover {
text-decoration: underline;
}

#accordion a.selected {
color: white;
}
.glossymenu a
{
  font-size: 14px;
}
</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}<img src="./images/favicon.ico" width="15">{/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>


Оффлайн cool_roman

  • Пользователь
  • **
  • Сообщений: 78
    • Просмотр профиля
Re: древо категорий
« Ответ #10 : Июля 21, 2012, 11:18:30 am »
slamm спасибо все работает