0

登録ユーザーではなくゲストユーザーにのみ表示されるはずのメニューをjoomla1.5に実装しようとしています。そのために、2つのファイルに変更を加えましたadministrator/components/com_menus/models/metadata/component.xml

modules/mod_mainmenu/helper.php

最初のファイルでは、20行目に次のコードを追加しました。

<param name="show_to_guest_only" type="radio" default="0" label="Show to Guest only" description="Show menu to guest user only.">
<option value="0">No</option>
<option value="1">Yes</option>
</param>

2番目のファイルでは、50行目の直前に次のコードを追加しました。

$row_params = new JParameter($row->params);
if ($row_params->get('show_to_guest_only') == 1 && $user->id ){
continue;
}

しかし、これも行った後、期待した結果が得られません。この問題を解決する方法を教えてください。

前もって感謝します。

4

2 に答える 2

0

これを使ってみてください。ユーザーがゲストであるかどうかを検出し、特定のメニュータイプのアイテムも取得します。

$user =& JFactory::getApplication();
$app =& JFactory::getApplication();
$menu = $app->getMenu();
$menu_items = $menu->getItems('menutype', 'mainmenu');

if ($user->guest) {
    //your code goes in here
} 

お役に立てれば。

于 2012-11-19T15:26:04.477 に答える
0

コアファイルをハックしないでください。他に何もない場合は、mod_mainmenuをmod_guestmenuなどの別の名前にコピーしてから、そこで変更を加えてインストールします。

あなたはextensions.joomla.orgで利用可能な高度なモジュール管理拡張機能の1つを使用したいかもしれません

MetaModは頭に浮かぶものです。

于 2012-11-20T10:32:45.657 に答える