web-dev-qa-db-fra.com

Puis-je désactiver une position de module dans son propre composant?

Je programme un composant avec deux vues, par exemple:

View1: Catégorie

View2: Article

Dans le gestionnaire de menus, je définis la catégorie comme point d'entrée de mon composant.

Le modèle a une barre latérale à côté du contenu où j'affiche certains modules. Pour le vue des catégories, c'est très bien; Je veux voir les modules dans la barre latérale, mais dans le vue de l'article, je voudrais désactiver la barre latérale complètement, car cette vue a besoin de plus d'espace.

Puisque la vue de l'article ne comporte pas d'élément de menu, je ne peux pas simplement désactiver les modules dans le gestionnaire de menus, n'est-ce pas?

Donc, quelle serait ma manière suggérée de désactiver les fonctions de rendu de position de mon composant (ou de vider la liste de modules d'une position donnée ??)

Toute aide est grandement appréciée :-)

Yosh

1
Yosha

Modifiez votre fichier de modèle principal (/templates/YOURTEMPLATE/index.php) et utilisez quelque chose comme ceci pour désactiver la barre latérale:

$input = JFactory::getApplication()->input;
$component = $input->get('option');
$view = $input->get('view');

$disable_sidebar = ($component==='com_mycomponent' AND $view==='mycomponentarticleview');

Utilisation $disable_sidebar dans votre modèle HTML pour décider si la barre latérale doit être visible.

0
Artur Stępień