Impossible d'obtenir les paramètres de modèle (de site) à partir du backend de mon module
Quelqu'un chez stackoverflow recommande que je pose la question ici, excuses si cela est considéré comme une publication croisée ...
APERÇU
Je développe un ensemble de modèles personnalisés et un ensemble de modules personnalisés.
Les modèles seront différents, mais leurs paramètres (définis dans templateDetails.xml) resteront identiques.
Je veux que le modèle par défaut (site) envoie ses valeurs de paramètres à un fichier intermédiaire, variables.css.php
variables.css.php réside actuellement dans ../media/cms/css (Je ne sais pas s'il doit être ailleurs)
Le but est que même si je change entre les modèles, les modules puissent toujours trouver les valeurs des paramètres au même endroit.
Encore une fois, les valeurs des paramètres peuvent changer, mais les paramètres eux-mêmes (couleur1, couleur2, etc.) ne le seront pas.
J'ai inclus un diagramme qui, espérons-le, aidera à illustrer:

Je veux que le backend du module obtienne les valeurs des paramètres, afin qu'un administrateur puisse voir quelle couleur il choisit lorsqu'il configure les modules.
Autrement dit, la couleur d'arrière-plan d'un bouton dans la page de configuration du module correspondra à la couleur définie dans templateDetails.xml.
J'ai construit un modèle de travail.
J'ai construit variables.css.php:
<?php
define( '_JEXEC', 1 );
define( '_VALID_MOS', 1 );
define( 'JPATH_BASE', realpath(dirname(__FILE__).'/../../..' ));
define( 'DS', DIRECTORY_SEPARATOR );
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
$app = JFactory::getApplication('site'); // $app->initialise();
$defaultTemplate = $app->getTemplate(true);
$params = $defaultTemplate->params;
header("Content-Type:text/css; charset=UTF-8");
header("Cache-Control:must-revalidate");
?>
.bg01 {text-shadow: 0px 0px 4px #000; color: #fff; background-color:<?php echo $params->get('color01'); ?>; } .bg02 {text-shadow: 0px 0px 4px #000; color: #fff; background-color:<?php echo $params->get('color02'); ?>; }
.bg03 {text-shadow: 0px 0px 4px #000; color: #fff; background-color:<?php echo $params->get('color03'); ?>; } .bg04 {text-shadow: 0px 0px 4px #000; color: #fff; background-color:<?php echo $params->get('color04'); ?>; }
.bg05 {text-shadow: 0px 0px 4px #000; color: #fff; background-color:<?php echo $params->get('color05'); ?>; } .bg06 {text-shadow: 0px 0px 4px #000; color: #fff; background-color:<?php echo $params->get('color06'); ?>; }
.bg07 {text-shadow: 0px 0px 4px #000; color: #fff; background-color:<?php echo $params->get('color07'); ?>; } .bg08 {text-shadow: 0px 0px 4px #000; color: #fff; background-color:<?php echo $params->get('color08'); ?>; }
.bg09 {text-shadow: 0px 0px 4px #000; color: #fff; background-color:<?php echo $params->get('color09'); ?>; } .bg10 {text-shadow: 0px 0px 4px #000; color: #fff; background-color:<?php echo $params->get('color10'); ?>; }
.bg11 {text-shadow: 0px 0px 4px #000; color: #fff; background-color:<?php echo $params->get('color11'); ?>; } .bg12 {text-shadow: 0px 0px 4px #000; color: #fff; background-color:<?php echo $params->get('color12'); ?>; }
.bg13 {text-shadow: 0px 0px 4px #000; color: #fff; background-color:<?php echo $params->get('color13'); ?>; } .bg14 {text-shadow: 0px 0px 4px #000; color: #fff; background-color:<?php echo $params->get('color14'); ?>; }
.bg15 {text-shadow: 0px 0px 4px #000; color: #fff; background-color:<?php echo $params->get('color15'); ?>; } .bg16 {text-shadow: 0px 0px 4px #000; color: #fff; background-color:<?php echo $params->get('color16'); ?>; }
Et j'ai construit un module de travail. Le module charge variables.css.php en utilisant cette astuce
LE PROBLÈME
Le problème est que lorsque je vais dans le backend du module, les boutons de configuration ressemblent à ceci

Quand ils devraient ressembler à ça

Lorsque j'utilise Chrome pour inspecter la page de configuration du module, je trouve ce qui suit:
.bg01 {
text-shadow: 0px 0px 4px #000;
color: #fff;
background-color: ;
}
Je sais que le module charge variables.css.php - car il affiche les valeurs text-shadow et color. Cependant, la couleur d'arrière-plan est vide.
Ce qui signifie que les valeurs des paramètres dans variables.css.php sont vides.
C'est là que j'ai besoin d'aide.
Je suppose que le code (au-dessus du css) dans variables.css.php est incorrect.
Toute aide est grandement appréciée!
Réponses
Après beaucoup de frustration, j'ai finalement retracé le problème à une faute de frappe dans le templateDetails.xml. Une fois que j'ai corrigé cela, le code / méthode que j'ai décrit ci-dessus fonctionnait et le style des boutons dans le backend du module est apparu dans toute sa splendeur colorée.