Skip to content
Valider 069af247 rédigé par marcimat@rezo.net's avatar marcimat@rezo.net
Parcourir les fichiers

On tente de corriger un problème de calcul de l'objet à afficher à partir...

On tente de corriger un problème de calcul de l'objet à afficher à partir d’une URL dans des cas où 
une un article a la même URL (hors rubrique de langue) dans 2 langues différentes, par exemple lorsqu'on
a un article "contact" dans la rubrique FR et dans la rubrique EN. En URLs arborescentes standard, on obtient
les URLs 'fr/contact' et 'en/contact' et il est donc possible de discriminer l’article en fonction de sa rubrique
parente qui est présente dans l’URL. Avec ce plugin par contre, on a 'domaine.fr/contact' et 'domaine.en/contact',
et l'URL reçue à analyser est simplement 'contact' (avec l'environnement 'lang=fr' ou 'lang=en' renseigné).
Les URLs arbos ne sont pas capables de déduire quel article 'contact' est à utiliser car la rubrique n'est pas indiqué dans l’URL.

On modifie du coup, pour les cas où il n’y a aucun / dans l’URL (considérant que c'est un article ou une rubrique), l'appel
au calcul de l’objet par les urls arborescentes, en préfixant la langue fr/ ou en/ . Ce faisant, les urls arborestentes trouvent bien
l’article correct, mais veulent rediriger sur sa véritable URL du coup (ie: 'domaine.fr/contact' et pas 'fr/contact' qu'on lui envoie
grosso modo). On annule la redirection si cette redirection est l'URL sur laquelle on arrivait effectivement.

Il faudrait trouver mieux comme solution tout de même. En 3.2 il pourrait être sage, par exemple, d'utiliser le champ 'langue' de spip_urls,
et de générer des URLs de langue pour toute la branche article/rubrique d’une langue automatiquement par défaut. On pourrait
ainsi utiliser ce champ 'langue' pour départager 2 urls identiques lorsqu'on a la langue dans l'environnement comme ici. 

Au passage, on corrige un autre bug : return urls_arbo_dist($i, $entite, $args = '', $ancre = '');
Ce return écrasait $args et $ancre (copié collé !). C'était pas malin.

parent 4c9d0dae
0% ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter