Je suis face à une galère un peu inhabituelle.
J'utilise sur un site le module CTL Module Maker.
J'ai un champ dans ce module défini à "Liste d'options prédéfinies" que je voudrai rendre dynamique.
Ceux qui connaissent bien CTL me diront qu'il existe une option spéciale pour ça. Malgré tout elle ne me donne pas satisfaction car je voudrai que cette liste soit vraiment dynamique.
En fait, ma base de donnée supporte deux sites distincts (qui ont des interactions l'un avec l'autre) : j'insiste, c'est la même base de données, donc réalisable, avec du code un peu dur.
J'aimerai pouvoir modifier le module généré pour réaliser une requête sql qui me permette de récupérer de la donnée sur l'autre site (une liste de produits, notamment les ID et les libellés).
J'ai trouvé le bout de code à modifier dans le module généré :
Code: Select all
function get_predefinedoptions($field,$retrieve=false){
// return the options for a predefined list
if($retrieve){
switch($field){
case "mon_select":
return array("0"=>$this->Lang("mon_select_option_0"), "1"=>$this->Lang("mon_select_option_1"));
break;
}
}else{
switch($field){
case "mon_select":
return array($this->Lang("mon_select_option_0")=>"0", $this->Lang("mon_select_option_1")=>"1");
break;
}
}
}
return $options;
}
--> Un label qui correspond au champ X de ma table (le libellé du produit)
--> Une value qui correspond au champ Y de ma table (l'id du produit)
En sortie j'aurai donc un truc du style :
Code: Select all
<option value="id_produit_0">label_produit_0</option>
<option value="id_produit_1">label_produit_1</option>
<option value="id_produit_n">label_produit_n</option>
Code: Select all
$query = "SELECT id,name FROM site2_produits ORDER BY id";