仅适用于joomla中的来宾用户的可见菜单

时间:2012-11-19 13:11:55

标签: joomla menu

我正在尝试在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;
}

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

提前致谢。

2 个答案:

答案 0 :(得分:0)

尝试使用此功能。它会检测用户是否是来宾,还可以获取特定菜单类型的项目。

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

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

希望这有帮助。

答案 1 :(得分:0)

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

您可能希望使用extensions.joomla.org

中提供的某种高级模块管理扩展程序

MetaMod让人想起。