Messages : 12
Sujets : 1
Inscription : Dec 2012
Réputation :
0
Bonjour à tous,
Cela fait plusieurs fois que je me retrouve face au même problème.
Je développe un module de catalogue produit par exemple.
Afin de faciliter la navigation je souhaite afficher les sous catégories en utilisant jquery/ajax.
J'utilise ce genre de fonction :
Code : [== JavaScript ==]
function getGammes(categid){
return $.ajax({
type: "POST",
url: "modules/catalogue/action.categajax.php",
data:categid,
dataType: 'json',
success: function(data)
{
$('#gammes').html(data);
}
});
}
le fichier action.categajax ressemble a ça :
Code : [== PHP ==]
<?php
require '../../include.php';
$gCms = cmsms();
if (!isset($gCms)) exit;
$cata =& $gCms->GetModuleInstance('catalogue');
/.../
$item->link = $cata->CreateFrontendLink($id, $returnid,'default', '', array('categid'=>$categid,'gamid'=>$row['id']),'',true);
Et la c'est le drame, impossible de générer un lien comme il faut je me retrouve avec un lien qui pointe vers
monsite/modules/catalogue/admin/moduleinterface.php?mact=catalogue,m5,default,1&_sx_=02260533&m5categid=3&m5gamid=2
au lieu de :
monsite/index.php?mact=catalogue,m5,default,1&_sx_=02260533&m5categid=3&m5gamid=2
Si vous avez une ampoule ... merci de m'éclairer
Messages : 12
Sujets : 1
Inscription : Dec 2012
Réputation :
0
Bonjour à tous,
Cela fait plusieurs fois que je me retrouve face au même problème.
Je développe un module de catalogue produit par exemple.
Afin de faciliter la navigation je souhaite afficher les sous catégories en utilisant jquery/ajax.
J'utilise ce genre de fonction :
Code : [== JavaScript ==]
function getGammes(categid){
return $.ajax({
type: "POST",
url: "modules/catalogue/action.categajax.php",
data:categid,
dataType: 'json',
success: function(data)
{
$('#gammes').html(data);
}
});
}
le fichier action.categajax ressemble a ça :
Code : [== PHP ==]
<?php
require '../../include.php';
$gCms = cmsms();
if (!isset($gCms)) exit;
$cata =& $gCms->GetModuleInstance('catalogue');
/.../
$item->link = $cata->CreateFrontendLink($id, $returnid,'default', '', array('categid'=>$categid,'gamid'=>$row['id']),'',true);
Et la c'est le drame, impossible de générer un lien comme il faut je me retrouve avec un lien qui pointe vers
monsite/modules/catalogue/admin/moduleinterface.php?mact=catalogue,m5,default,1&_sx_=02260533&m5categid=3&m5gamid=2
au lieu de :
monsite/index.php?mact=catalogue,m5,default,1&_sx_=02260533&m5categid=3&m5gamid=2
Si vous avez une ampoule ... merci de m'éclairer
Messages : 1,975
Sujets : 81
Inscription : Jan 2009
Réputation :
0
A tout hasard, essaie de mettre un / devant "modules" dans ton url.
Quelle est l'erreur en fait ? Pas d'output ? Une erreur 404 ?
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.
Messages : 1,975
Sujets : 81
Inscription : Jan 2009
Réputation :
0
A tout hasard, essaie de mettre un / devant "modules" dans ton url.
Quelle est l'erreur en fait ? Pas d'output ? Une erreur 404 ?
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.
Messages : 12
Sujets : 1
Inscription : Dec 2012
Réputation :
0
L'url du fichier est ok pour le traitement
L'unique erreur est le lien généré par createlink qui part du module au lieu de partir de la racine
Messages : 12
Sujets : 1
Inscription : Dec 2012
Réputation :
0
L'url du fichier est ok pour le traitement
L'unique erreur est le lien généré par createlink qui part du module au lieu de partir de la racine
Messages : 1,975
Sujets : 81
Inscription : Jan 2009
Réputation :
0
Ok. C'est un module écrit par toi ? Fait dans les règles de création de module ? Ou c'est un simple fichier php de ton cru que tu as placé à cet endroit de l'arborescence ?
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.
Messages : 1,975
Sujets : 81
Inscription : Jan 2009
Réputation :
0
Ok. C'est un module écrit par toi ? Fait dans les règles de création de module ? Ou c'est un simple fichier php de ton cru que tu as placé à cet endroit de l'arborescence ?
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.
Messages : 12
Sujets : 1
Inscription : Dec 2012
Réputation :
0
non c'est un module fait par moi en utilisant ctlmodulemaker
C'est la troisième fois que je me retrouve confronté a ce pépin.
Dans l'idée il faudrait peut être créer une page de contenu avec un template vide et juste l'appel du module avec l'action qui va bien. Mais je trouve ça super lourd comme solution.
Messages : 12
Sujets : 1
Inscription : Dec 2012
Réputation :
0
non c'est un module fait par moi en utilisant ctlmodulemaker
C'est la troisième fois que je me retrouve confronté a ce pépin.
Dans l'idée il faudrait peut être créer une page de contenu avec un template vide et juste l'appel du module avec l'action qui va bien. Mais je trouve ça super lourd comme solution.
Messages : 1,975
Sujets : 81
Inscription : Jan 2009
Réputation :
0
Ok... je ne connais pas ce module...
Quel est sensé etre l'output du module ? Du JSON ?
Il me semble qu'il y a un paramètre qu'on peut ajouter dans la requete pour ne pas qu'il y ait de redirection après l'appel du module mais j'ai oublié lequel... Comment avais-tu résolu le problème les 2 premières fois ?
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.
Messages : 1,975
Sujets : 81
Inscription : Jan 2009
Réputation :
0
Ok... je ne connais pas ce module...
Quel est sensé etre l'output du module ? Du JSON ?
Il me semble qu'il y a un paramètre qu'on peut ajouter dans la requete pour ne pas qu'il y ait de redirection après l'appel du module mais j'ai oublié lequel... Comment avais-tu résolu le problème les 2 premières fois ?
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.
Messages : 12
Sujets : 1
Inscription : Dec 2012
Réputation :
0
CTLmodulemaker donne juste la base a la création d'un module, après il ne sert plus a rien.
En retour il envoie ca : {$smarty.capture.data|@json_encode}
ou data est du html pour lister les liens
Pour les autres projets j'avais mis les liens en dur et ajouté les variables en GET a l'url (pas très classe)
Messages : 12
Sujets : 1
Inscription : Dec 2012
Réputation :
0
CTLmodulemaker donne juste la base a la création d'un module, après il ne sert plus a rien.
En retour il envoie ca : {$smarty.capture.data|@json_encode}
ou data est du html pour lister les liens
Pour les autres projets j'avais mis les liens en dur et ajouté les variables en GET a l'url (pas très classe)
Messages : 1,975
Sujets : 81
Inscription : Jan 2009
Réputation :
0
Ok ok. Bon je pense qu'il faut ajouter un paramètre à la requete...
Ca doit etre showtemplate=false.
Si ce n'est pas ca, il y a sans doutes quelque chose à faire dans ton action.php mais je ne peux pas te dire quoi.
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.
Messages : 1,975
Sujets : 81
Inscription : Jan 2009
Réputation :
0
Ok ok. Bon je pense qu'il faut ajouter un paramètre à la requete...
Ca doit etre showtemplate=false.
Si ce n'est pas ca, il y a sans doutes quelque chose à faire dans ton action.php mais je ne peux pas te dire quoi.
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.
Messages : 12
Sujets : 1
Inscription : Dec 2012
Réputation :
0
J'ai trouvé une solution qui n'est pas vraiment acceptable en terme de qualité de code mais qui fonctionne :
Placer le fichier action.categajax.php a la racine du site.
bizarrement l'appel du ProcessTemplate retrouve le bon template dans le repertoire du module et cela fonctionne
Messages : 12
Sujets : 1
Inscription : Dec 2012
Réputation :
0
J'ai trouvé une solution qui n'est pas vraiment acceptable en terme de qualité de code mais qui fonctionne :
Placer le fichier action.categajax.php a la racine du site.
bizarrement l'appel du ProcessTemplate retrouve le bon template dans le repertoire du module et cela fonctionne
Messages : 10,864
Sujets : 164
Inscription : Dec 2008
Réputation :
0
préfère si possible l'option de heriquet qui est la bonne pratique : ajouter aux urls que tu requêtes : showtemplate=false
exemple http://www.cmsmadesimple.fr/?showtemplate=false
Messages : 10,864
Sujets : 164
Inscription : Dec 2008
Réputation :
0
préfère si possible l'option de heriquet qui est la bonne pratique : ajouter aux urls que tu requêtes : showtemplate=false
exemple http://www.cmsmadesimple.fr/?showtemplate=false
Messages : 12
Sujets : 1
Inscription : Dec 2012
Réputation :
0
Bonjour,
Comme c'est censé me renvoyer du json, je n'appel pas de page a proprement parlé.
Pour showtemplate=false il faut appeler une page et cela ne me sert a rien d'en créer une
Messages : 12
Sujets : 1
Inscription : Dec 2012
Réputation :
0
Bonjour,
Comme c'est censé me renvoyer du json, je n'appel pas de page a proprement parlé.
Pour showtemplate=false il faut appeler une page et cela ne me sert a rien d'en créer une
Messages : 10,864
Sujets : 164
Inscription : Dec 2008
Réputation :
0
erf j'avais mal lu désolé ...
http://apidoc.cmsmadesimple.org/CMS/CMSM...ontendLink
je tenterais de remplacer :
Citation : $cata->CreateFrontendLink($id, $returnid,'default', '', array('categid'=>$categid,'gamid'=>$row['id']),'',true);
par
Citation : $cata->CreateFrontendLink($id, $returnid,'default', '', array('categid'=>$categid,'gamid'=>$row['id']),'',true, true);
pour répondre au paramètre
boolean $inline: A flag to determine if actions should be handled inline (no moduleinterface.php -- only works for frontend)
Messages : 10,864
Sujets : 164
Inscription : Dec 2008
Réputation :
0
erf j'avais mal lu désolé ...
http://apidoc.cmsmadesimple.org/CMS/CMSM...ontendLink
je tenterais de remplacer :
Citation : $cata->CreateFrontendLink($id, $returnid,'default', '', array('categid'=>$categid,'gamid'=>$row['id']),'',true);
par
Citation : $cata->CreateFrontendLink($id, $returnid,'default', '', array('categid'=>$categid,'gamid'=>$row['id']),'',true, true);
pour répondre au paramètre
boolean $inline: A flag to determine if actions should be handled inline (no moduleinterface.php -- only works for frontend)
Messages : 1,975
Sujets : 81
Inscription : Jan 2009
Réputation :
0
isoclem a écrit :Bonjour,
Comme c'est censé me renvoyer du json, je n'appel pas de page a proprement parlé.
Pour showtemplate=false il faut appeler une page et cela ne me sert a rien d'en créer une
euuuh... non !
Tu peux créer une url qui appelle une action d'un module (qui écrit du json).
Il te reste à appeler cette url depuis une requete Ajax et à récupérer ton résultat.
Par défaut le module écrit dans sa page container mais pas si tu précises qu'il ne faut pas de template pour l'affichage.
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.
Messages : 1,975
Sujets : 81
Inscription : Jan 2009
Réputation :
0
isoclem a écrit :Bonjour,
Comme c'est censé me renvoyer du json, je n'appel pas de page a proprement parlé.
Pour showtemplate=false il faut appeler une page et cela ne me sert a rien d'en créer une
euuuh... non !
Tu peux créer une url qui appelle une action d'un module (qui écrit du json).
Il te reste à appeler cette url depuis une requete Ajax et à récupérer ton résultat.
Par défaut le module écrit dans sa page container mais pas si tu précises qu'il ne faut pas de template pour l'affichage.
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.
|