Menu Joomla CSS
-
27-10-2019 - |
Domanda
Volevo creare un menu nella parte superiore della pagina, a causa del layout specifico nel CSS, ho pensato che questa fosse una soluzione per farlo usando il seguente codice nel mio modello (INDICE.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>';
}
Ma non c'è un modo migliore, penso che mi manchi un link qui
Soluzione
Questo non dovrebbe essere nel tuo modello. Il menu dovrebbe essere in un modulo. La maggior parte dei moduli di menu ha un'evidenziazione attiva incorporata. Anche il core joomla mod_menu supporta l'evidenziazione attiva.
Altri suggerimenti
Quello che devi fare è sovrascrivere CSS in modo tale che A: Link, A: Hover, A: Visitato utilizzano il colore bianco ma hai bisogno di colore grigio per la pagina attiva. Fai solo qualcosa di uguale e metti! Importante dietro quello in #Active_Menu come esempio:
#main a:link, #main a:hover, #main a:visited {colour:#FFF;}
#active_menu {#CCC !important;}
Penso che un buon modo, ed è il modo in cui uso sempre, è con un operatore ternario all'interno della classe dei collegamenti.
-- inside de <a> tag bt without the spaces in the < a> --
< a class="button <?= $item_active->id == $item->id ? : 'button_pressed' : '' ?>" >Hello< /a>
Quindi aggiungi le regole CSS a .Button_pressed
È un modo molto pulito per farlo. Basta chiedere se vuoi ulteriore aiuto: D