Bonjour,
Je cherche à afficher le même module deux fois (un modume_custom pour tester pour l'instant) avec un layout différent (nommé alt) sur la même page sur Cassiopea sur Joomla!5.1.
Module 1 : affiche "core" via le backoffice de Joomla avec une position et la bonne affectation de page : OK
Module 2 : via PHP dans un override (article en l'occurrence mais ca devrai être le même souci dans tout les fichier de templating)
Mon code commenté
Le problème vient du fait que l'instance du module est modifié aussi pour le Module 1
J'ai tenté 2/3 pseudo php pour contourner mais le fianl est toujours le même : le renderModule semble affecter tout les rendus de la page.
Une idée ?
Je cherche à afficher le même module deux fois (un modume_custom pour tester pour l'instant) avec un layout différent (nommé alt) sur la même page sur Cassiopea sur Joomla!5.1.
Module 1 : affiche "core" via le backoffice de Joomla avec une position et la bonne affectation de page : OK
Module 2 : via PHP dans un override (article en l'occurrence mais ca devrai être le même souci dans tout les fichier de templating)
Mon code commenté
Code PHP:
use Joomla\CMS\Helper\ModuleHelper;
// Charger le module avec l'ID 160
$modulealt = ModuleHelper::getModuleById('160');
// Décoder les paramètres JSON dans un tableau associatif
$params = json_decode($modulealt->params, true);
// Modifier le layout du module dans les paramètres
$params['layout'] = 'alt';
// Repasser les paramètres modifiés en JSON
$modulealt->params = json_encode($params);
// Rendre le module avec le layout modifié
echo ModuleHelper::renderModule($modulealt);
J'ai tenté 2/3 pseudo php pour contourner mais le fianl est toujours le même : le renderModule semble affecter tout les rendus de la page.
Une idée ?
Commentaire