Sujet fermé
Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

Changer l'alias de page dans réécrture d'url
#1

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
#2

Je n'ai rien compris Big Grin
#3

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
#4

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
#5

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
#6

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 !
#7

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/Mo...torial.pdf

Cordialement

bobjo
#8

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


Atteindre :


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