0

我正在尝试在 joomla 1.5 中实现一个菜单,该菜单应该只对访客用户可见,而不是注册用户。为此,我在两个文件中进行了更改,它们是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>

对于第二个文件,我在第 50 行之前添加了以下代码:

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

但是在这样做之后,我也没有得到预期的结果。你能帮我解决这个问题吗?

提前致谢。

4

2 回答 2

0

你不应该破解核心文件。如果没有别的,请将 mod_mainmenu 复制到另一个名称,例如 mod_guestmenu,然后在那里进行更改并安装。

您可能希望使用 extensions.joomla.org 上提供的高级模块管理扩展之一

MetaMod 是一个浮现在脑海中的。

于 2012-11-20T10:32:45.657 回答
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 回答