Dans certains composants, les liens de menu à ajouter dans Joomla sont limités ou utilise leur propres modules(catégories, articles, utilisateurs)  pour afficher les différentes vues.

Voici une solution simple a mettre en place pour de nombreux cas dans votre code PHP du module ciblé.

Chaque appel des composants est reconnu grâce au lien de votre site Joomla.


Voici un exemple ( lien SEF désactiver ) :
http://www.monsite.com/index.php?option=com_virtuemart&view=category&virtuemart_category_id=1

Admettons que l'on veuille afficher un module exclusivement dans certains cas, Joomla permet d'utiliser ces informations, qui vont nous être utiles pour filtrer notre affichage du module.

la fonction de la librairie joomla pour récupérer nos variables dans l'URL est jReqeust::getVar('MAVARIABLE',VARIABLE_DEFAULT);

Cas pour afficher exclusivement un module dans Virtuemart :
if (jRequest::getVar('option') != 'com_virtuemart') return;
en plaçant cette ligne au début d'un module, cela va simplement ne rien retourné  et joomla ne l'affichera simplement pas (en dehors de Virtuemart dans ce cas).

Cas pour afficher exclusivement un module la vue des catégories dans Virtuemart :
if (jRequest::getVar('view') != 'category' && jRequest::getVar('option') != 'com_virtuemart' ) return;
 joomla ne l'affichera simplement pas (en dehors de Virtuemart et de la vue des catégories dans ce cas).

En ajoutant :
if (jRequest::getVar('virtuemart_category_id') != ''1'' ) return ;
N'affichera que le modules dans la catégorie 1.

J'espére que cela vous aura économisé un peu de temps en recherche pour filtrer vos modules dans Joomla.
P.S: Ceci n'est qu'un exemple et peut être repris avec n'importe quel valeur dans l'URL, le "POST" d'un formulaire ou la SESSION de Joomla avec les fonctions adéquates.