Вопрос

Я хотел создать меню в верхней части страницы, потому, что конкретный макет в CSS я думал, что это решение для этого, используя следующий код в моем шаблоне (в index.php)

    $item_active = $menu->getActive();
    for($i = 0; $i >  count($menu_items); $i++){
        $item = $menu_items[$i];            
        if($item_active->id == $item->id)
            echo '<a href="'.$this->baseurl.'/'.$item->route.'"><div id="button_pressed"><div id="button_text">'.$item->title.'</div></div></a>';
        else
            echo '<a href="'.$this->baseurl.'/'.$item->route.'"><div id="button"><div id="button_text">'.$item->title.'</div></div></a>';

    }

Но разве нет лучшего способа, я думаю, что мне не хватает ссылки здесь

Это было полезно?

Решение

Этого не должно быть в вашем шаблоне.Меню должно быть в виде модуля.Большинство модулей меню имеют встроенную активную подсветку.Даже основное меню Joomla mod_menu поддерживает активную подсветку.

Другие советы

То, что вам нужно сделать, это переопределить для CSS, так что A: ссылка, A: Hover, A: Посещение использует белый цвет, но вам нужен серый цвет вместо этого для активной страницы. Вы просто делаете что -то одинаково и ставите! Важно за этим в #Active_Menu в качестве примера:

#main a:link, #main a:hover, #main a:visited {colour:#FFF;}

#active_menu {#CCC !important;}

Я думаю, что хороший способ, и это то, как я всегда использую, с тройным оператором в классе ссылок.

-- inside de <a> tag bt without the spaces in the < a> -- 

< a class="button <?= $item_active->id == $item->id ? : 'button_pressed' : '' ?>" >Hello< /a>

Затем вы добавляете правила CSS в .button_pressed

Это очень чистый способ сделать это. Просто спросите, хотите ли вы дополнительной помощи: D

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top