Comment empêcher le rendu des modules vides Joomla? Pour y parvenir-
J'ai essayé en renvoyant false à partir du fichier d'entrée du module s'il n'y a pas de sortie. J'ai écrit le code suivant dans le fichier d'entrée des modules, par exemple mod_xyx.php
// Hide mod when no output.
if ( @no_output)
{
return ;
}
Cela fonctionne pour le modèle par défaut de Joomla mais ne fonctionne pas pour certains modèles.
Si vous êtes sûr à 100% que la sortie de votre module est vide, votre modèle peut alors ajouter un chrome au module.
Vous pouvez vérifier comment JModuleHelper :: renderModule génère la sortie du module et (éventuellement) appelle le modèle chrome.
https://github.com/joomla/joomla-cms/blob/staging/libraries/cms/module/helper.php#L176
Je l'ai déjà rencontré par le passé, et votre réponse se trouve probablement dans vos fichiers de modèle ... vous constaterez probablement qu'elle vérifie s'il y a un nombre de modules - quelque chose comme ceci de Protostar:
<?php if ($this->countModules('position-8')) : ?>
<!-- Begin Sidebar -->
<div id="sidebar" class="span3">
<div class="sidebar-nav">
<jdoc:include type="modules" name="position-8" style="xhtml" />
</div>
</div>
<!-- End Sidebar -->
<?php endif; ?>
Il ne considère pas s'il y a une sortie ou non, donc restitue la position du module indépendamment de ce qui est rendu ou non.