Вопрос про Меню. Как скрыт подкатегории.

Тема в разделе "Веб-дизайн", создана пользователем Life-BEC, 9 фев 2011.

Модераторы: zek24
  1. Life-BEC

    Life-BEC

    Регистр.:
    1 апр 2009
    Сообщения:
    186
    Симпатии:
    20
    Всем Привет!
    Хочу изменит немного дизайн сайта.
    Вот сайт: bookmark.top-ix.uz | Работает: Pligg
    Там есть меню справа. Связи с тем что все подкатегории появляются сразу, не удобно получается.
    Как можно сделать так, что по умолчанию не показывались под категории, и когда пользователь хочет увидеть подкатегории кликав на категорию увидел бы все подкатегории.
    Как можно решит эту проблему? Помогите пожалуйста.
     
  2. Djutan

    Djutan Создатель

    Регистр.:
    29 янв 2011
    Сообщения:
    21
    Симпатии:
    8
    Для начала нужно установить скрипт который будет отвечать за сворачивание/разворачивание меню. К jquery, который уже используется, например, подойдет "аккордион". Здесь несколько вариантов оформления с примерами кода:
    http://www.dynamicdrive.com/dynamicindex17/ddaccordionmenu.htm
     
  3. Life-BEC

    Life-BEC

    Регистр.:
    1 апр 2009
    Сообщения:
    186
    Симпатии:
    20
    Djutan, Спасибо!
    Вот этот понравился: http://www.dynamicdrive.com/dynamicindex17/ddaccordionmenu-glossy.htm
    Но никак не могу приспособить.
    Как Я понял вот этот код отвечает за категории (названия файла: categories.tpl)
    Код:
            <ul class="nav">
            {checkActionsTpl location="tpl_widget_categories_start"}
            {section name=thecat loop=$cat_array start=$start}
            		{if $lastspacer eq ""}
            			{assign var=lastspacer value=$cat_array[thecat].spacercount}
            		{/if}
            	{if $cat_array[thecat].spacercount lt $lastspacer}{$cat_array[thecat].spacerdiff|repeat_count:'</ul></li>'}{/if}
            	<li{if $cat_array[thecat].principlecat neq 0} class="dir cat-item"{else} class="cat-item"{/if}>
            	<a href="{if $pagename eq "upcoming"}{$URL_queuedcategory, $cat_array[thecat].safename}{else}{$URL_maincategory, $cat_array[thecat].safename}{/if}"><span>{$cat_array[thecat].name}</span></a><a href="{$URL_rsscategory, $cat_array[thecat].auto_id}" target="_blank" class="rss tip"></a>
            	{if $cat_array[thecat].principlecat eq 0}</li>{else}<ul>{/if}
            	{assign var=lastspacer value=$cat_array[thecat].spacercount}
            {/section}
            {checkActionsTpl location="tpl_widget_categories_end"}
            </ul>
    Помогите пожалуйста, как это можно сделать?
     
  4. Djutan

    Djutan Создатель

    Регистр.:
    29 янв 2011
    Сообщения:
    21
    Симпатии:
    8
    Я не смогу привести код именно для вашего случая. У вас используется шаблонизатор смарти, а в коде присутствуют специфические функции свойственные только вашей цмс (кстати какую используете?). Т.е. нужно дебажить входящие переменные, чтобы знать в каком виде они заходят в шаблон. Тот код что вы привели действительно отвечает за вывод меню. Но я так и не понял, есть ли переменная отвечающая за уровень вложения подкатегорий. Единственная явная проверка которая выполняется у вас в шаблоне, это проверка переменной $cat_array[thecat].principlecat на наличие у нее подкатегорий.
    Я подключал скрипт "аккордиона" к магазину в котором тоже используется смарти, если это имеет смысл, могу выложить код. Но там логика довольно простая, основана на переменной $level, из которой всегда можно достать уровень вложенности и соответственно раставить теги. По идее у вас тоже должно быть что то похожее, но нужно дебажить чтобы понять что.
     
  5. Life-BEC

    Life-BEC

    Регистр.:
    1 апр 2009
    Сообщения:
    186
    Симпатии:
    20
    Pligg, сервис онлайн закладок.

    По этому вопросу очень нужна помощь.
    Если у Вас есть свободное время пожалуйста помогите. Могу представит нужные файлы.