我创建了一个菜单选项来打开或关闭Joomla客人的菜单项:
在administrator/components/com_menus/models/metadata/component.xml
我在第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行之前打开了文件modules/mod_mainmenu/helper.php
,并添加了此代码......
$row_params = new JParameter($row->params);
if ($row_params->get('show_to_guest_only') == 1 && $user->id ){
continue;
}
然后我去了我的菜单项目并将«仅显示给客户»添加到«是»并点击保存。一旦我登录,我想看到菜单项消失。要做到这一点,我假设我需要开发continue;
区域来调用Joomla菜单项并将其关闭用户登录。我正在寻找可以测试的特定代码或关于最佳方式。
答案 0 :(得分:0)
以下是更详细的说明:
1.创建一个名为notreg的新模块位置(在管理员站点/模板管理器/模块位置处于空白位置,即28)
创建一个名为notregmenu的新菜单(在菜单/菜单管理器中)
转到模块/站点模块并发布notregmenu模块,选项不显示标题和位置notreg
现在打开模板index.php(在站点/模板管理器/站点模板中 - 选择并单击编辑HTML按钮
您插入以下代码的确切位置取决于您的模板,但需要将其放置在菜单显示的某个位置 - 在我的模板中,我将它放在这三行之后......
<!-- BEGIN: LEFT COLUMN --> <div id="ja-col1"> <div class="ja-innerpad">
以下是要插入的代码......
<?php if ( !$my->id ) {?>
<div id="notregmenu"><?php mosLoadModules ( 'notreg', -2 ); ?>
</div><?php
} ?>
答案 1 :(得分:0)
事实证明,这将按照我的描述运作。问题是我把hack放入modules/mod_mainmenu/helper.php
但是试图让这个工作在错误的菜单中。当我在mod_mainmenu
项目上进行测试时,它运行得很好。不管怎么说,多谢拉。