1

<li>Joomla K2 Content モジュールのアクティブにクラスを追加して、動的に作成されたメニューを作成しようとしています。これまでのところ、私は持っています:

<li class="<?php if ($item->id == $active_id) echo 'active';?> hello">

テンプレートのオーバーライドが機能していることを確認するために、そこにこんにちはを入れました。

私は明らかに php を知りません。これは、Joomla K2 と php を知っている人にとっては簡単な質問だと思いますか? ;)

4

2 に答える 2

2

私は同じ問題を抱えていて、この解決策を思いついた(Joomla 3.0.3 & K2 2.6.5)

    <li class="<?php

    $active_sub = substr(($app->input->getCmd('task', '')), 0, 3);

    if ($item->id == $active_sub) echo 'active';
                                                   ?>" >

「タスク」はメインの index.php で定義され、メニュー項目名とともにサブメニュー項目 ID を返します。substr を使用して、K2 モジュールの $item->id に対応する最初の 3 文字を取得します。このソリューションは、モジュールで 999 を超えるメニュー項目を取得するまで機能します。

私も PHP の専門家ではありませんが、これは私のテンプレートではうまく機能します。

于 2013-02-14T14:13:31.777 に答える
0

上記のコードは、Joomla 3.4.1 および K2 2.6.8 では機能しませんでした。これは、任意のバージョン (J1.5/J2.5/3.0 および K2 の任意のバージョン) で機能するソリューションです。

<li class="<?php        
        $active_sub = intval(JRequest::getCmd('id'));

        if ($item->id == $active_sub) echo 'active';
        ?>">
于 2015-04-14T06:20:17.423 に答える