Plugin et redirection vers form
Salut à tous,
j'ai besoin d'un petit coup de main
Avant j'avais un seul fichier form donc pas de soucis pour la redirection de ma vue.
Je suppose que tout se passe dans la fonction de préchauff (Steph dis moi si je me trompe)
Seulement maintenant j'ai besoin de différencier 2 types d'url:
[list=*]
[*]http//monsitedefou/mcatalogue/xxxx[/*]
[*]http//monsitedefou/mcatalogue/xxxx/yyyy[/*]
[/list]
Et en fonction rediriger soit vers form.category.php soit form.product.php. Une idée ?
j'ai besoin d'un petit coup de main
Avant j'avais un seul fichier form donc pas de soucis pour la redirection de ma vue.
Je suppose que tout se passe dans la fonction de préchauff (Steph dis moi si je me trompe)
[== PHP ==]
...
public $url = "mcatalogue";
...
public function plxMotorPreChauffageBegin($template="static.php") {
$template = $this->template==''?'static.php':$this->template;
$string= '
if ($this->get && preg_match("#^'.$this->url.'/?#",$this->get, $capture)) {
$prefix = str_repeat("../", substr_count(trim(PLX_ROOT.$this->aConf["racine_statiques"], "/"), "/"));
$this->mode = "'.$this->url.'";
$this->cible = $prefix.PLX_PLUGINS."'.get_class($this).'/form";
$this->template = "'.$template.'";
return true;
}
';
echo "<?php ".$string." ?>";
}
Donc si j'ai quelque chose dans l'url avec http//monsitedefou/mcatalogue/xxxx le plugin va piocher dans mon fichier form.mcatalogue.php ?!Seulement maintenant j'ai besoin de différencier 2 types d'url:
[list=*]
[*]http//monsitedefou/mcatalogue/xxxx[/*]
[*]http//monsitedefou/mcatalogue/xxxx/yyyy[/*]
[/list]
Et en fonction rediriger soit vers form.category.php soit form.product.php. Une idée ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Voici la solution
code du plugin, fichier mcatalogue.php
Ensuite il faut les 2 fichiers pour traiter les catégories et produits
/plugins/mcatalogue/form.category.mcatalogue.php
/plugins/mcatalogue/form.product.mcatalogue.php
bien respecter le nom des fichiers
il ne te reste plus qu'à mettre dedans le code pour gérer categories ou produits
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
c'est bien ce que je pensais, il fallait rajouter une condition dans la fonction de prechauff et je dois dire que le regexp m'ennuyais un peu
Dès que j'ai 5min il faudra que je fasse du debug pour bien comprendre cette fonction, car pour la réalisation des routes d'un plugin elle me parait indispensable ... par exemple si on veut rajouter d'autres niveaux http//monsitedefou/mcatalogue/xxxx/yyyy/zzzzz ..etc
ici j'ai utilisé ce regexp: /[\w\-]+/[\w\-]+/?$
ce qui revient à identifier les caractères alpha-num dans la forme xxxx/yyyy
pour un autre niveau: /[\w\-]+/[\w\-]+/[\w\-]+/?$
dans la forme: xxx/yyyy/zzzz
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)