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

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top