我正在尝试在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;
}
但在这样做之后,我没有得到预期的结果。 你能帮我解决这个问题。
提前致谢。
答案 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让人想起。