Module perso, collision entre 2 instances d'un module -
heriquet - 02/05/2013
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.6
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~
Bonjour,
Petit problème technique : j'ai développé un module qui me permet de rechercher et lister des éléments.
Dans la colonne de gauche de la page, il y a un petit formulaire de recherche, dont les résultats sont affichés au centre de la page via une autre action du module.
Cependant lorsque je lance la recherche, le tag du centre de la page est remplacé par le tag utilisé normalement pour faire uniquement la recherche...
Est-ce normal ou ai-je loupé une étape ?
Module perso, collision entre 2 instances d'un module -
bess - 02/05/2013
déjà eu ... je suis plus certain de la cause mais il me semble que c'est une option de formulaire et de lien d'action inline ou pas
http://apidoc.cmsmadesimple.org/CMS/CMSModule.html#CreateFormStart
http://apidoc.cmsmadesimple.org/CMS/CMSModule.html#CreateFrontendFormStart
selon si t'es en front ou en back end
et pour les liens du front :
http://apidoc.cmsmadesimple.org/CMS/CMSModule.html#CreateFrontendLink
check le paramètre inline de ces fonctions
Module perso, collision entre 2 instances d'un module -
heriquet - 02/05/2013
OK merci, j'utilisais pas le CreateFrontEndFormStart.
Par contre pour la communication avec l'autre instance de module, je dois faire comment ? Y a quelque chose prévu dans l'API pour ca ou je dois bidouiller le $_POST ?
L'idée est que les 2 modules reçoivent les paramètres, mais je ne sais pas si c'est possible ou prévu pour...
Module perso, collision entre 2 instances d'un module -
bess - 02/05/2013
je ne vois pas comment ce serait possible y compris en modifiant $_POST
quelle est ton utilité ?
Module perso, collision entre 2 instances d'un module -
heriquet - 02/05/2013
En fait l'instance A me sert à définir les paramètres de recherche (colonne de gauche).
L'instance B doit capter les paramètres de recherche pour afficher le résultat.
J'ai trouvé un workaround qui n'est pas tip top mais me permet d'avancer...
Il se trouve dans l'action du module qui fait office d'instance B.
Code :
[== PHP ==]
if(isset($_POST['mact']))
{
$mact = explode(',', $_POST['mact']);
$announcement_search_module_id=$mact[1];
if(isset($_POST[$announcement_search_module_id.'search_continent_id']))
{
$params['continent_id'] = $_POST[$announcement_search_module_id.'search_continent_id'];
}
}
Module perso, collision entre 2 instances d'un module -
bess - 02/05/2013
$params n'a rien ?
Module perso, collision entre 2 instances d'un module -
heriquet - 02/05/2013
Et non... $params propose uniquement les données de l'instance en cours, pas des autres modules, et heureusement puisque 2 instances du même module ont les mêmes données.
Module perso, collision entre 2 instances d'un module -
heriquet - 02/05/2013
c'est pour ca que j'attaque $_POST qui lui contient tout...