Forum CMS Made Simple FR
impossible d'utiliser smarty depuis un script php (ajax) - 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 : impossible d'utiliser smarty depuis un script php (ajax) (/thread-2590.html)



impossible d'utiliser smarty depuis un script php (ajax) - joan38 - 15/02/2013

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: !1.7/8/9/10/11
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~ CMSMS version 1.7
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~

Bonjour, je nécessite votre aide, j'utilise AJAX pour mettre en place un script qui lors d'une sélection sur une fiche déroulante, la génération et le contenu de la deuxième liste s'affiche.

Mon soucis et que sur la page de script php, je n'est pas acces a smarty et donc a la génération de templates, bien-sur je peux écrire mon <select> moi même mais c'est moins propre.
Voici ce que j'ai tenté:
Code :
[== PHP ==]

require '../../../include.php';
global $gCms;
$db = &$gCms->db;
$config = $gCms->config;


$smarty = $gCms->GetSmarty();


echo $smarty->assign("label", $this->Lang("label"));
echo $smarty->assign("liste", $this->CreateInputDropdown($id,"resultat_requete",$resultat_requete));
echo "{liste}";

Initialement j'ai tenté sans echo, j'ai tenté de remplacer $this par $gcms.

j'ai une page admin.php qui utilise template.tpl, dans mon template j'ai un script javascript qui fournit les elements récupérer de la premiere listbox et get. Ces elements sont récuperer par mon script.php(code ci dessus).
-> tous marche mais smarty n'est pas utilisable, j'ai à l'affichage l'erreur suivante.

Fatal error: Using $this when not in object context in /var/www/html/developpement.tactilinks.com/modules/annuaire/scripts/script_find_sous_categorie.php on line 32

Ce qui est normal car $this n'existe pas dans l’élément actuel, mais je ne trouve rien qui me permette de savoir si une alternative est possible.

Je vous remercie d'avance pour toute l'aide que vous pourrez m'apporter


impossible d'utiliser smarty depuis un script php (ajax) - jissey - 15/02/2013

Bonjour,
il faut que tu restes dans l'environnement de CMSMS.
Tu dois passer (pour ton PHP), par un module ou une UDT(balise utilisateur).
Regarde du côté de la forge, il y a des modules qui permettent de faire de l'AJAX:
http://dev.cmsmadesimple.org/project/search?id=ajax


impossible d'utiliser smarty depuis un script php (ajax) - joan38 - 18/02/2013

Ok je te remercie pour ces informations, du coup je suis partit sur la génération en dur de la balise select depuis le script php.


impossible d'utiliser smarty depuis un script php (ajax) - heriquet - 20/02/2013

Salut,

Petite précision : $gCms => devient cmsms() dans les nouvelles versions.

Et pour ton souci, je ne sais pas pour une UDT, mais si tu fais un petit module minimaliste, tu peux définir une action qui écrit du JSON (ou du html) et interpréter le JSON (ou html) récupéré côté client pour remplir ton <select>.