3

Joomla のドキュメントで、Joomla 2.5 でテンプレートを作成しているときに Frontpage にいるかどうかを検出する方法を見てきました。これはコードです:

<?php 
$app = JFactory::getApplication(); 
$menu = $app->getMenu(); 
if ($menu->getActive() == $menu->getDefault()) { 
    echo 'This is the front page'; 
} 
?>

これは、ホームページにいるとき (または [ホーム] メニューをクリックしたとき) に機能しますが、ホームページにスライダーがあり、アプリケーションのメニュー項目にない記事にスライダーでリンクしています。この記事を読み込むと、上記のコードはフロントページに表示されたときと同じように返されます。メニュー項目をクリックしなければ、 $menu->getActive() は変化しないと思います。

なにか提案を?前もって感謝します。

4

2 に答える 2

2

この問題を解決するためにできることは 1 つあります。スライダーでリンクされているすべての記事リンクの隠しメニューを作成します。隠しメニューを作成すると、リンクが初期化され、$menu->getActive() がすべてのリンクに対して機能します。

于 2012-05-28T15:04:19.537 に答える
0

現在の回答に追加し、いくつかの説明を提供したいと思います。

メニュー選択を検出するには、ページをメニュー項目に割り当てる必要があります。これが非表示のメニューである場合、マイページと呼ばれるページへのリンクは次のようになります。

/index.php/my-page - 「my-page」は、このアイテムのメニュー タイトル エイリアスです。

ただし、同じページのパンくずリストに正しい階層を表示したい場合は、メニュー階層を隠しメニューに複製する必要があります。

たとえば、マイ ページがマイ アーティクルのメイン メニュー項目の下にある場合、非表示のメニューに、メニュー タイプ フィールドのシステム サブメニューにあるメニュー アイテム エイリアスのタイプの「マイ アーティクル」項目を追加する必要があります。マイ ページの項目は、マイ記事のサブメニュー項目である必要があります。

非表示メニューの「My Articles」メニュー項目には、メイン メニューの同じメニュー エイリアスとは異なるメニュー エイリアスが必要であるため、マイ ページへの新しいリンクは次のようになります。

/index.php/my-articles2/my-page

非表示のメニューを作成するには、別のメニューを作成するだけです。モジュールを作成するかどうかは問題ではありませんが、作成する場合は、そのモジュールに任意の位置を割り当てる必要はありません。

于 2013-06-10T14:13:32.177 に答える