Меню аккордеон

Discussion in 'PHP' started by -slim-, 29 Jul 2012.

  1. -slim-

    -slim- Elder - Старейшина

    Joined:
    25 May 2007
    Messages:
    99
    Likes Received:
    12
    Reputations:
    0
    Есть меню в стиле аккордеон.
    Дело вот в чем, так как сайт динамический мне нужно добавлять категории и подкатегории меню с админ-панели.
    Но вот в чем проблема...
    Я не могу вывести подкатегории этого меню, ибо нет параметра в GET по которому я смогу вытащить инфу по родителю.
    То есть, средставами PHP тут не справится.
    Кто что скажет?

    Демо + код
     
  2. Dmit3Y

    Dmit3Y Member

    Joined:
    19 Jul 2010
    Messages:
    45
    Likes Received:
    8
    Reputations:
    0
    Если честно, то не очень понятно. Какой параметр, по Вашему мнению, Вам нужен?
    На php нужно генерировать все меню.
     
  3. -slim-

    -slim- Elder - Старейшина

    Joined:
    25 May 2007
    Messages:
    99
    Likes Received:
    12
    Reputations:
    0
    Дмитрий, для того чтоб вытащить подкатегорию (наследника) мне нужен идентификатор категории - родителя, понимаете?
    Я прекрасно понимаю, что можно отрисовать все меню на PHP - как я делаю всегда, при помощи рекурсии, но если ситуация вынуждает сделать его с помощью jQuery - я должен сделать его именно так.
     
  4. Dmit3Y

    Dmit3Y Member

    Joined:
    19 Jul 2010
    Messages:
    45
    Likes Received:
    8
    Reputations:
    0
    Хм. Т.е. вы хотите собрать меню на стороне клиента при помощи jquery? Тогда можно каждому пункту задавать id.
    <a id="parnet_1" ...></a>

    $("$parent_1")....
     
  5. -slim-

    -slim- Elder - Старейшина

    Joined:
    25 May 2007
    Messages:
    99
    Likes Received:
    12
    Reputations:
    0
    Вы смотрели код и демо?
    Я хочу именно так, но не в статическом, а динамическом варианте.
     
  6. Dmit3Y

    Dmit3Y Member

    Joined:
    19 Jul 2010
    Messages:
    45
    Likes Received:
    8
    Reputations:
    0
    Я смотрел код и демо, но все не могу понять того, что вам нужно. с помощью jquery вы можете в любой момент добавить/изменить/удалить любой пункт меню.
     
  7. -slim-

    -slim- Elder - Старейшина

    Joined:
    25 May 2007
    Messages:
    99
    Likes Received:
    12
    Reputations:
    0
    Отлично)
    Как мне тогда добавить категорию и подкатегорию сюда?)
    А точнее, как это сделать пользователю, который очень далек от технических тонкостей?
    Через понятный интерфейс
    Если возможно только при помощи jQuery - буду рад выслушать.
    Повторюсь, я не знаком с этой технологией близко.
     
  8. Dmit3Y

    Dmit3Y Member

    Joined:
    19 Jul 2010
    Messages:
    45
    Likes Received:
    8
    Reputations:
    0
    Я бы к каждому пункту меню добавил id.
    Code:
    <div id="firstpane" class="menu_list">
      <p class="menu_head">Header-1</p>
        <div class="menu_body" id="menu1">
    	<a href="#" id="link1">Link-1</a>
        </div>
      <p class="menu_head">Header-2</p>
        <div class="menu_body" id="menu2">
    	<a href="#" id="link1">Link-1</a>
        </div>
      <p class="menu_head">Header-3</p>
        <div class="menu_body" id="menu3">
            <a href="#" id="link1">Link-1</a>
            <a href="#" id="link2">Link-2</a>
       </div>
    </div>
    Теперь добавляем пункт:
    Code:
    $("menu_body#menu1").append("<a href="#" id="link2">Link-2</a>");
    Удаляем пункт:
    Code:
    $("menu_body#menu1 a#link1").remove();
    Добавляем категорию (пункт верхнего уровня)
    Code:
    $("div.menu_list").append("<p class="menu_head">Header-4</p>
    <div class="menu_body" id="menu4">
    </div>");
    Везде нужно соблюдать правильные id. В одной категории у пунктов не должно быть одинаковых id. У пунктов верхнего уровня тоже все должны быть уникальными.
    Вообще это меню изначально не очень адаптировано к таким изменениям. (Лично я бы сделал другую структуру) Имхо, нужно хоть как-то группировать пункты. А тут заголовки, подпункты все раскиданы по отдельности.
     
  9. -slim-

    -slim- Elder - Старейшина

    Joined:
    25 May 2007
    Messages:
    99
    Likes Received:
    12
    Reputations:
    0
    Спасибо
    Почитаю литературу еще
     
  10. barnaki

    barnaki Elder - Старейшина

    Joined:
    2 Nov 2008
    Messages:
    676
    Likes Received:
    135
    Reputations:
    4
    загугли древовидные структуры. формируешь древовидный массив . и делаешь ul li ul. и все. а потом на jquery если не по этому ul кликнули то слайдапишь и слайддаунишь. если до вечера не решишь я скину исходник.или я тоже не так понял :(
     
    #10 barnaki, 2 Aug 2012
    Last edited: 2 Aug 2012