Forum CMS Made Simple FR
Changer l'alias de page dans réécrture d'url - 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 : Changer l'alias de page dans réécrture d'url (/thread-3782.html)



Changer l'alias de page dans réécrture d'url - bobjo - 25/02/2016

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 2.1.2
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Bonjour,

J'ai créé un nouveau champ dans le formulaire d'édition de page à laide de la balise {content}.

Je voudrai l'utilisé à la place de l'alias dans la réécriture d'url.

J'arrive bien à construire l'url mais lorsque je clique sur le lien cela me met une erreur 404.
Cela est normal car le système cherche une page avec l'alias correspondant à mon champ.

Auriez vous une idée pour résoudre mon problème ?

Cordialement

bobjo


Changer l'alias de page dans réécrture d'url - Jean le Chauve - 25/02/2016

Je n'ai rien compris Big Grin


Changer l'alias de page dans réécrture d'url - bobjo - 25/02/2016

Je vais essayé d'être plus clair.

Partons du principe que j'ai une page dont le titre est Test et l'alias est test.
L'url vers cette page sans réécriture d'url serait :
http://www.nomdedomaine.tld/index.php?page=test
Avec la réécriture d'url cela donnerait :
http://www.nomdedomaine.tld/test.html

Moi avec la balise {content} j'ai ajouté un champ dans le formulaire d'édition des page
exemple : {content block="alias_2" label="Alias 2" oneline=true tab="zz_3options_tab__" required=true}

Lors de l'édition de ma page Test je renseigne ce champ avec la valeur "alias-deux"

Dans le gabarit du menu, je construit l'url avec ce nouvel alias.
Ce qui donne :
http://www.nomdomaine.tld/alias-deux.html

Le problème est que lorsque je clique sur le lien j'ai une erreur 404.
C'est normal puisque l'alias de base fait référence à la page.

Ma question est :
Aurait il un moyen pour que mon nouveau lien (celui avec l'alias 2) soit correctement redirigé ?

Cordialement

bobjo


Changer l'alias de page dans réécrture d'url - airelibre - 25/02/2016

A part avec l'alias, ou directement le paramètre URL, et sans hacker le code, je ne pense pas que ce soit possible ... voir sinon avec les évènements de type "pre" s'il y en a un qui capte le code suffisamment tôt pour le faire.

Cela étant je suis curieux ... pour quoi faire ? Wink


Changer l'alias de page dans réécrture d'url - bobjo - 25/02/2016

Merci de me répondre.

Tu entend quoi par : "les évènements de type pre"

Pour satisfaire ta curiosité, c'est toujours pour le module Multilangue. Comme ce module prévois une arbo, chaque langue a son alias. Ce qui provoque le problème décrit plus haut.

Cordialement

bobjo


Changer l'alias de page dans réécrture d'url - airelibre - 25/02/2016

bobjo a écrit :Tu entend quoi par : "les évènements de type pre"

Laisse tomber, j'ai regardé rapidement et aucun évènement ne semble être lancé suffisamment tôt dans le processus de création de page.


bobjo a écrit :Pour satisfaire ta curiosité, c'est toujours pour le module Multilangue. Comme ce module prévois une arbo, chaque langue a son alias. Ce qui provoque le problème décrit plus haut.

Ok je comprends mieux. Je pense que ne pourras trouver ton bonheur qu'en réalisant un nouveau module ContentManager

... ou alors, essayes de lancer ton code à l'instanciation de ton module (__construct) pour récupérer le nom de page souhaité et lancer une requête en base.

A voir... bon courage !


Changer l'alias de page dans réécrture d'url - bobjo - 25/02/2016

Je vais voir avec __construct.

Mais il me semble (bien que cela fais 2 semaines que je bosse dessus) que le mieux et le plus propre serait de faire un nouveau module ContentManger.

Aurai tu des tuto pour faire se type de module ou je m’appuie sur http://docs.cmsmadesimple.org/uploads/Module_Writing_Tutorial.pdf

Cordialement

bobjo


Changer l'alias de page dans réécrture d'url - airelibre - 25/02/2016

Appuies-toi sur la doc que tu as + prend en exemple le ContentManager déjà livré dans le core Wink