Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
impossible d'utiliser smarty depuis un script php (ajax)
#1
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
Répondre
#2
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
{SEO}
Inscrivez-vous à notre Newsletter sur le site (colonne de droite, en bas).
Vous appréciez CMSMS et l'aide qui vous est fournie ici, aidez-nous en participant au projet.
Formation CMS Made Simple | Création de site CMS Made Simple.

C'est en se plantant qu'on devient cultivé.
J'ai un string dans l'Array (Paris Hilton)
Répondre
#3
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.
Répondre
#4
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>.
www.web-ep.be - Développeur Web Freelance - Développeur/Intégrateur CMS Made Simple (création de sites, développement de modules/plugins/templates sur mesure), spécialisé dans les sites pour l'immobilier.
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)