[resolu]création d'un module function DoAction inopérante - Version imprimable +- Forum CMS Made Simple FR (https://forum.cmsmadesimple.fr) +-- Forum : Général (https://forum.cmsmadesimple.fr/forum-3.html) +--- Forum : Modules, Tags (https://forum.cmsmadesimple.fr/forum-14.html) +--- Sujet : [resolu]création d'un module function DoAction inopérante (/thread-1664.html) |
[resolu]création d'un module function DoAction inopérante - rusey - 26/12/2011 Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~ Bonjour, Je suis en train de créer mon premier module en suivant les indications du tutoriel : http://wiki.cmsmadesimple.org/index.php/User_Handbook/Developers_Guide/Module_Tutorial. la phase de création du module c'est correctement déroulée et j'ai pu ainsi charger avec PhpMyAdmin 77 articles dans la table crée : "cms_module_catlist_products" J'ai adapté comme c'est indiqué la fonction DoAction : function DoAction($action, $id, $params, $returnid=-1) { if ($action == 'default') { $db =& $this->GetDb(); $sql = 'SELECT * FROM ' . cms_db_prefix().'module_catlist_products;'; $dbresult =& $db->Execute($sql); $list = "<br /><br />\n"; $list .= "<ul>\n"; while ($dbresult && $row = $dbresult->FetchRow()) { $list .= "<li><b>".$row['cata_categorie']." : ". $row['cata_materiel'] ." ". $row['cata_marque']." ". $row['cata_model'] .'</b><br />'; $list .= ''. '<br />'; $list .= "</li>\n"; } $list .= "</ul>\n"; $list .= "<br /><br />\n"; } // assign to Smarty global $gCms; $this->smarty->assign('list', $list); /** *Insert: {cms_module module='Catlist'}{$list} *in your page template *But there has to be a way for this to work without the {$list} tag... **/ return; } } //end class Voici mon problème: et j'ai essayé de faire retourner cette fonction dans une page dans le contenu en l'appelant comme c'est indiqué par {cms_module module='Catlist'}{$list} sans résutat; puis même chose en modifiant le "return" de la fonction par "return $liste;" sans résutat puis en appelant la fonction sans {$list} seulement par {cms_module module='Catlist'} sans résutat puis j'ai vidé la fonction de toute condition et substance pour lui faire retourner un $list='hello world' toujours sans résultat merci de m'aider à sortir de cette impasse. [resolu]création d'un module function DoAction inopérante - jissey - 27/12/2011 bonjour, je viens de relire rapidement le tuto et il n'est pas à jour pour la version 1.10.x. A la place de Code : [== PHP ==] Code : [== PHP ==] [resolu]création d'un module function DoAction inopérante - rusey - 28/12/2011 Bonjour jissey Merci pour ta réponse. J'ai suivi tes indications en remplaçant : global $gCms; $this->smarty->assign('list', $list); par : $gCms = cmsms(); $smarty = $gCms->GetSmarty(); $this->$smarty->assign('list',$list); sans résultat. puis par : $this->cmsms()->GetSmarty()->assign('list', $list); et le problème reste entier. cette correction est sans doute nécessaire mais pas suffisante pour me sortir de mon impasse. :/ [resolu]création d'un module function DoAction inopérante - jissey - 28/12/2011 re, et tu n'as aucun messages d'erreur? Je n'ai pas fait ce tuto et je n'en ai pas le temps mais : 1- remonte l'initialisation de $gCms = cmsms(); au début juste avant $db =& $this->GetDb(); 2- remplace $db =& $this->GetDb(); par $db = $gCms->GetDb(); 3- dans le fichier de config, modifie la variable $config['debug']=false/true 4- affiche la page et recherche la requête sql qui doit être exécutée (recherche ça =>module_catlist_products). il doit y avoir un message d'erreur. [resolu]création d'un module function DoAction inopérante - bess - 03/01/2012 retire ton code doAction(...){...} de ton fichier et opte plutôt pour créer un fichier nommé action.default.php qui contiendra ce code : Code : <?php réduire le fichier principal ton module est la méthode préconisée depuis 2011. Le tuto que tu suis est obsolète. Préfère les tutos dispo sur wiki.cmsmadesimple.fr (pas tous présent, mais plus récents) Si ton module ne fonctionne toujours pas après ces modifications (+ étude des erreurs de ta part) : tu me le zip et tu me l'envoie par email sur contact @ cmsmadesimple point fr je regarderais de plus prêt cette histoire [resolu]création d'un module function DoAction inopérante - rusey - 04/01/2012 Merci à vous deux tout fonctionne, pour l'affichage des messages d'erreur j'ai eu droit à toutes les erreurs de pleins de modules que j'ai installé sans les utiliser j'ai donc renoncé à poursuivre mes recherches dans ce sens. Du coup je me suis rabattu sur le solution de bess et cela fonctionne super je vais fermer le sujet |