开发者

How Can I Create Guest Menu Item in Joomla 1.5?

开发者 https://www.devze.com 2023-04-12 10:46 出处:网络
I have created a menu option to turn on or off a menu item for Joomla guests: In administrator/components/com_menus/models/metadata/component.xml I added this line after line 20...

I have created a menu option to turn on or off a menu item for Joomla guests:

In administrator/components/com_menus/models/metadata/component.xml I added this line after line 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>
开发者_如何学Python

Then, I opened the file modules/mod_mainmenu/helper.php before line 50, and added this code...

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

Then I went to my menu item and put « Show to Guest only » to « Yes » and hit save. Once I login I want to see the menu item disappear. To do this I assume I need to develop the continue; area to call the Joomla menu item and turn it off it a user is logged in. I am looking for either a specific code that I can test or general suggestions on the best way to proceed.


Here are more detailed instructions:
1. Create a New Module Position called notreg (in administrator site/ Template Manager / Module Positions in blank position i.e. 28)

  1. Create a new Menu called notregmenu (in Menu / Menu Manager)

  2. Go to Modules / Site Modules and Publish notregmenu Module with option to not show title and in position notreg

  3. Now open template index.php (in site / Template Manager / Site Templates - select and click Edit HTML button

  4. Exactly where you insert the following code depends on your template but it needs to be positioned somewhere wher your menu appears - in my template I have placed it just after these three lines...

   <!-- BEGIN: LEFT COLUMN -->
          <div id="ja-col1">
          <div class="ja-innerpad">

and here is the code to insert...

<?php if ( !$my->id ) {?>
        <div id="notregmenu"><?php mosLoadModules ( 'notreg', -2 ); ?>
        </div><?php
        } ?>


It turns out that this will work as I had described. The issue was that I put the hack into modules/mod_mainmenu/helper.php yet was trying to make this work within the wrong menu. When I tested on the mod_mainmenu items it worked great. Thanks anyways.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号