Помощь Создание динамического меню

Тема в разделе "DLE", создана пользователем sidor, 2 мар 2009.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.1 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. sidor

    sidor

    Регистр.:
    7 июн 2006
    Сообщения:
    220
    Симпатии:
    14
    Есть структура сайта:
    Главная
    |
    О компании
    |
    История развития
    Производство
    Сертификаты лицензии
    |
    О продукции
    |
    Бинт
    Вата
    Прайс-лист

    .....

    "О компании" и "о продукции" это отдельные разделы сайта, сделанные в статических страницах (site.ru/about.html, site.ru/about2.html)

    Меню нужно сделать такого вида:
    [​IMG]

    Все как бы ничего: написал меню, админку, но есть одна проблема. Нужно что бы в каждой категории показывалось свое меню. Например, на странице "о компании" появлялись только "история развития, производство, etc". Думаю, мысль ясна.

    Как я решил сделать. В модуле написал:
    PHP:
    if ($_SERVER['REQUEST_URI'] == "/about.html")
    {
    $result mysql_query("SELECT link_name,link FROM dle_links WHERE razdel='О компании'");
    $myrow mysql_fetch_array($result);
    }
    ...
    Тоесть при заходе на site.ru/about.html у меня будут показываться все ссылки раздела "о компании".

    В чем собственно проблема? В том что при заходе на ссылку "история развития" уже не будет это все показывать, а добавлять проверку для каждой новой страницы раздела это можно с ума сойди. Если бы в "статических страницах" были разделы, то проблем не было бы (сделал бы условие на вывод заголовков всего раздела). А так как поступить?
    Подскажите плз - очень срочно нужно
     
  2. Padonok №1

    Padonok №1 Постоялец

    Регистр.:
    20 апр 2007
    Сообщения:
    89
    Симпатии:
    51
    А почему бы не сделать о фирме не в стаических страницах о создать отдельную котегорию...и сделать все... или я что то не так понял?
     
  3. Dark Angell

    Dark Angell Читатель

    Заблокирован
    Регистр.:
    29 фев 2008
    Сообщения:
    1.036
    Симпатии:
    690
    вообще для того чтобы категории брались из БД двига есть такой модуль:
    http://4dle.ru/sel_mods/1147156542-blok-svorachivajushhikhsja-kategorijj.html
    а если чисто на статических страницах сайт будет,то можно использовать такой хак на яве:
    PHP:
    <a title="Menu1" href="javascript:ShowOrHide('menu1');">&raquoМеню 1</a>
                                  <
    div id="menu1" style="display:none;">
                                  <
    ul>
                                  <
    li>Пункт 1
                                  
    <li>Пункт 2
                                  
    <li>Пункт 3
                                  
    <li>Пункт 4
                                  
    <li>Пункт 5
                                  
    </ul>
                                  </
    div>
    и дублируеш если много разделов,только не забывай Menu1 менять на свой тайтл :)
     
  4. Bobrov

    Bobrov Постоялец

    Регистр.:
    7 авг 2008
    Сообщения:
    145
    Симпатии:
    13
    Код:
    if ($_SERVER['REQUEST_URI'] == "/about.html")
    {
    $result = mysql_query("SELECT link_name,link FROM dle_links WHERE razdel='О компании'");
    $myrow = mysql_fetch_array($result);
    }
    ...  
    Вариант тоже можно додумать, но я бы сделал свою таблицу для меню и свою админку. А так все остается то же самое, но ты можешь менять меню как захочешь, и название пунктов не будет привязано к названию страниц, что иногда тоже полезно, сслыка более короткая, а название страницы делаешь развернутым.
     
  5. sidor

    sidor

    Регистр.:
    7 июн 2006
    Сообщения:
    220
    Симпатии:
    14
    вообщем, написал этот так сказать модуль :) опишу свои действия. может, помогу кому-то в будущем.
    как я сделал?

    1) создал в таблице dle_static дополнительное поле section
    2) сделал дополнительное поле ввода при добавлении статической страницы в админке, откуда данные записываются в section. Тоесть, если страницы у нас относится к разделу "О компании", то просто пишем это в поле и все. Ну или сделать выпадающее меню (на выбор разработчика).
    3) ну и код в модуле такого типа:
    PHP:
    if ($_SERVER['REQUEST_URI'] == "/about.html" || $static_result['section'] == "О компании")
    {
    $result mysql_query("SELECT menu_title,menu_link FROM dle_links WHERE title='О компании' ORDER BY pos ASC");
    $myrow mysql_fetch_array($result);
    }
    Ну это разумеется само собой. Так и сделал, т.к. нужно было управление блоком ссылок и их сортировка с админ-панели.
     
Статус темы:
Закрыта.