1

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>';

    }

しかし、もっと良い方法はありません、私はここにリンクがないのだと思います

4

3 に答える 3

1

あなたがしなければならないことは、a:link、a:hover、a:visitedが白い色を使用しているが、アクティブなページの代わりに灰色が必要であるように、cssをオーバーライドすることです。例として、同じものを作成し、その後ろに!importantを#active_menuに配置します。

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

#active_menu {#CCC !important;}
于 2012-07-24T14:59:03.857 に答える
0

リンクのクラス内で三項演算子を使用するのが良い方法だと思います。これは私がいつも使用している方法です。

-- 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

于 2012-02-19T21:34:55.530 に答える
0

これはテンプレートに含めるべきではありません。メニューはモジュール内にある必要があります。ほとんどのメニューモジュールにはアクティブな強調表示が組み込まれています。コアのJoomlamod_menuでさえ、アクティブな強調表示をサポートしています。

于 2012-02-20T00:17:08.887 に答える