如何在Joomla 1.5中创建访客菜单项?

时间:2011-10-12 23:10:48

标签: php menu joomla hide show

我创建了一个菜单选项来打开或关闭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菜单项并将其关闭用户登录。我正在寻找可以测试的特定代码或关于最佳方式。

2 个答案:

答案 0 :(得分:0)

以下是更详细的说明:
1.创建一个名为notreg的新模块位置(在管理员站点/模板管理器/模块位置处于空白位置,即28)

  1. 创建一个名为notregmenu的新菜单(在菜单/菜单管理器中)

  2. 转到模块/站点模块并发布notregmenu模块,选项不显示标题和位置notreg

  3. 现在打开模板index.php(在站点/模板管理器/站点模板中 - 选择并单击编辑HTML按钮

  4. 您插入以下代码的确切位置取决于您的模板,但需要将其放置在菜单显示的某个位置 - 在我的模板中,我将它放在这三行之后......

  5.    <!-- 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项目上进行测试时,它运行得很好。不管怎么说,多谢拉。

相关问题