2012-11-19 2 views
0

J'essaye d'implémenter un menu dans joomla 1.5 qui devrait être visible seulement pour l'utilisateur invité pas pour l'utilisateur enregistré. Pour que je fait des changements dans deux fichiers, ceux-ci sont administrator/components/com_menus/models/metadata/component.xml etmenu visible uniquement pour l'utilisateur invité dans joomla

modules/mod_mainmenu/helper.php 

Pour le premier fichier, j'ai ajouté le code suivant dans la ligne n ° 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> 

Et pour la deuxième fichier, j'ai ajouté les morceaux de code ci-dessous juste avant la ligne n ° 50:

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

Mais après avoir fait cela aussi, je reçois pas ting le résultat attendu. Pouvez-vous m'aider s'il vous plaît comment résoudre ce problème.

Merci d'avance.

+3

Je sais que mon commentaire n'est pas productif mais Joomla! 1.5 est vraiment vieux maintenant et n'est plus supporté. –

+0

c'est vrai. Mais je pense que certaines solutions devraient être là. – Sri

Répondre

0

Vous ne devez pas pirater les fichiers principaux. Si rien d'autre ne copie mod_mainmenu à un autre nom comme mod_guestmenu et puis faites vos modifications et installation.

Vous pouvez utiliser l'une des extensions de gestion des modules avancés disponibles à extensions.joomla.org

MetaMod est celui qui vient à l'esprit.

+0

génial ... en utilisant MetaMod j'ai obtenu la solution. Merci beaucoup. – Sri

0

Essayez d'utiliser ceci. Il détecte si les utilisateurs sont invités et obtient également les éléments d'un type de menu spécifique.

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

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

Espérons que cela aide.

+0

Je pense que l'idée est qu'il y a d'autres menus qu'il veut montrer à tout le monde. D'où le paramètre qu'il utilise;) –