J'ai besoin de créer 2 modèles pour les pages: "avec barre latérale" et "sans barre latérale".
Je dois afficher l'encadré de certaines pages et le masquer pour d'autres. Ce comportement doit être configuré via les options et non via le code.
Comment puis-je le faire dans Joomla 3.4.1?
C'est une chose simple à faire. Dans le fichier index.php de votre modèle, ajoutez ce qui suit et changez position-8
à n'importe quelle position dans la barre latérale.
<?php if ($this->countModules('position-8')) : ?>
<div id="sidebar">
<jdoc:include type="modules" name="position-8" style="xhtml" />
</div>
<?php endif; ?>
En gros, cela détecte si des modules sont affectés à position-8
et affichera la barre latérale niquement s’il en existe.
Vous pouvez avoir plusieurs positions dans la barre latérale, vous pouvez donc également utiliser:
<?php if ($this->countModules('position-8') && $this->countModules('position-9')): ?>
Je suggère de dupliquer votre modèle à partir du Gestionnaire de modèles et de faire les modifications (sans encadré) dans le nouveau sans altérer l’original.
Accédez ensuite à votre menu et modifiez l’option de menu de votre choix en sélectionnant dans la liste "Style de modèle" le modèle dupliqué (sans barre latérale).