Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не работает раздел меню 
:(
    Опции темы
NZero
Дата 9.6.2013, 01:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 358
Регистрация: 28.4.2010
Где: Москва

Репутация: нет
Всего: нет



Всем привет!)
Сделал меню для сайта и добавляю в него постепенно новые разделы. Вот решил создать раздел Отзывы, но возникла проблема и вот в чем она заключается:
Раздел Отзывы не выделяется как активный раздел меню, когда его выбираешь, а вроде должен. Все остальные разделы при этом становятся активными, когда их выбираешь.

Код

//Код меню
if($home == "Главная")
{
    echo "<ul class='current'>";
    echo "<li><a href='index' title='Главная'><b>Главная</b></a></li>";
    echo "</ul>";
}  
else
{
    echo "<ul class='select'>";
    echo "<li><a href='index' title='Главная'><b>Главная</b></a></li>";
    echo "</ul>";
}
if($crash == "Аварийное устранение засора")
{
    echo "<ul class='current'>";
    echo "<li><a href='avariynoe-ustranenie-zasora' title='Аварийное устранение засора'><b>Аварийное устранение засора</b></a></li>";
    echo "</ul>";    
}
else
{
    echo "<ul class='select'>";
    echo "<li><a href='avariynoe-ustranenie-zasora' title='Аварийное устранение засора'><b>Аварийное устранение засора</b></a></li>";
    echo "</ul>";
}
if($service == "Услуги" || $remont == "Ремонт" || $service == "Прочистка ливневой" || $service == "Прочистка хоз. канализации" || $service == "Прочистка зданий")
{
    echo "<ul class='current'>";
    echo "<li><a href='service-and-price' title='Услуги'><b>Услуги и Цены</b></a></li>";
    echo "</ul>";
    echo "<ul class='sub_active'>";
    echo "<li><a id='_drain' href='services/obsluzhivanie-kanalizatsionnykh-setyey' title='Обслуживание канализационных сетей'>Обслуживание канализационных сетей</a></li>";
    echo "<li><a id='_purity' href='services/obsluzhivanie-ochistnykh-sooruzheniy' title='Обслуживание очистных сооружений'>Обслуживание очистных сооружений</a></li>";
    echo "<li><a id='_venting' href='services/obsluzhivanie-sistem-ventilyatsii' title='Обслуживание систем вентиляции'>Обслуживание систем вентиляции</a></li>";            
    echo "</ul>";
}
else
{
    echo "<ul class='select'>";
    echo "<li><a href='service-and-price' title='Услуги'><b>Услуги и Цены</b></a></li>";
    echo "</ul>";
}
if($art == "Статья")
{
    echo "<ul class='current'>";
    echo "<li><a href='articles' title='Статьи'><b>Статьи</b></a></li>";
    echo "</ul>";    
}
else
{
    echo "<ul class='select'>";
    echo "<li><a href='articles' title='Статьи'><b>Статьи</b></a></li>";
    echo "</ul>";
}
if($review == "Отзывы")
{
    echo "<ul class='current'>";
    echo "<li><a href='review' title='Отзывы'><b>Отзывы</b></a></li>";
    echo "</ul>";    
}
else
{
    echo "<ul class='select'>";
    echo "<li><a href='review' title='Отзывы'><b>Отзывы</b></a></li>";
    echo "</ul>";
}
if($zayavka == "Заявка")
{
    echo "<ul class='current'>";
    echo "<li><a href='zayavka' title='Заявка'><b>Заявка</b></a></li>";
    echo "</ul>";
}
else
{
    echo "<ul class='select'>";
    echo "<li><a href='zayavka' title='Заявка'><b>Заявка</b></a></li>";
    echo "</ul>";
}


Код

//Вот здесь подключаю файл header.php, в котором написан код выше, на странице Отзывы
$review="Отзывы";
include("header.php");


Это сообщение отредактировал(а) NZero - 9.6.2013, 01:09
PM MAIL WWW ICQ   Вверх
s1lver
Дата 10.6.2013, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 580
Регистрация: 14.12.2007
Где: Россия

Репутация: нет
Всего: нет



Таким методом добавления меню можно свихнутся smile 


--------------------
Я собрался жить вечно - пока все идет нормально!
PM MAIL ICQ   Вверх
Gromdron
Дата 10.6.2013, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 4.9.2006

Репутация: 1
Всего: 1



Воу-воу парень, плахче!

Давай начнем с тобой с азов.
Зачем тебе столько ul ?
ul - начало списка. Твое меню подходит под тип список. У списка есть начало, несколько элементов списка и конец списка. Ты же зачем-то пытаешься сделать список списков.

Давай с тобой попробуем сделать так:

Обьявим массив ссылок меню.

К примеру:
Код

$arMenus = array(
    "review" => array(
        "NAME" => "Отзывы",    
        "LINK" => "review",
        "SUBMENU" = array(),
    ),
    "zayavka"    => array(
        "NAME" => "Заявка",    
        "LINK" => "zayavka" 
        "SUBMENU" = array(),
    ),
    "articles" => array(
        "NAME" => "Статьи",    
        "LINK" => "articles" 
        "SUBMENU" = array(),
    ),
    "service-and-price" => array(
        "NAME" => "Услуги и цены",
        "LINK" => "service-and-price" 
        "SUBMENU" = array(
            array(
                "ID" => "_drain",
                "NAME" => "Обслуживание канализационных сетей",
                "LINK" => "services/obsluzhivanie-kanalizatsionnykh-setyey",
            ),
            array(
                "ID" => "_purity",
                "NAME" => "Обслуживание очистных сооружений",
                "LINK" => "services/obsluzhivanie-ochistnykh-sooruzheniy",
            ),
            array(
                "ID" => "_venting",
                "NAME" => "Обслуживание систем вентиляции",
                "LINK" => "services/obsluzhivanie-sistem-ventilyatsii",
            ),
            array(
                "ID" => "",
                "NAME" => "",
                "LINK" => "",
            ),
        ),
    ),
    "avariynoe-ustranenie-zasora" => array(
        "NAME" => "Аварийное устранение засора",
        "LINK" => "avariynoe-ustranenie-zasora",
        "SUBMENU" = array(),
    ),
    "index" => array(
        "NAME" => "Главная",
        "LINK" => "index",
        "SUBMENU" = array(),
    ),
);



Отлично! Первый шаг выполнен. У нас есть прекрасное меню с уровнем вложенности. Добавлять новые ссылки туда будет гораздо проще, да и позже переделать ее для хранения в базе не составит труда, все же лучше чем под каждую страницу - свою переменную.

Теперь необходимо переделать css
У нас будет 2 класса ul списков: меню (menu) и подменю (submenu). У нас будет класс для выбранной ссылки (я буду называть ее active)
Соответственно код будет выглядеть так:

Код

<ul class='menu'>
    <li class='active'>Выбранное меню</li>
    <li>Невыбранно меню</li>
    <li>
        Меню содержащее подменю
        <ul class='submenu'>
            <li>Под-меню 1</li>
            <li>Под-меню 2</li>
        </ul>
    </li>
</ul>


Теперь нужно описать код-обработчик. Предположим, что наша ссылка храниться в переменной $actMenu и она уже обработана от воздействий.

Код

<ul class='menu'>
<?php
    foreach($arMenus as $ind => $arMenu) {
        echo "<li ";
        If ($actMenu == $ind) echo "class='active'";
        echo "> <a href='",$arMenu['LINK'],"' >",$arMenu['NAME'],"</a>";
        if ( !empty($arMenu['SUBMENU']) ) {
            echo "<ul class='submenu'>";
            foreach ($arMenu['SUBMENU'] as $arSub) {
                echo "<li><a id='",$arSub['ID'],"' href='",$arSub['LINK'],"'>",$arSub['NAME'],"</a></li>";
            }
        }
        echo "</li>";
    }
?>
</ul>


Соотвественно тебе осталось только отладить код, который я пишу в полу-сонном состоянии, написать css стили и пользоваться. Ну или взять эту идею и подогнать под свои нужны.

P.S. Разумные комментарии, пинки и кидание камнями, с соответствующим комментариями причины - ПРИВЕТСТВУЮТСЯ.

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0458 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.