[spip-dev] url arbo et bloc multi

Salut,

J'ai l'impression que Spip ne gère pas bien les réecriture d'urls quand
on utilise les blocs multi pour les titres des rubriques.

Que ce soit en url propres ou arbo, c'est un peu problématique.

Quand je suis dans une langue autre que la langue principale du site, je
vois le nom de la rubrique s'afficher sous la bonne langue mais son url
sera toujours celle de la langue principale. Je visualise le titre en
anglais et l'url est "/-titre-francais-.html"

L'url unique /-titre-francais-.html est censée identifier différents
noms de rubriques et pour les différencier je devrais taper la langue
dans l'url, ce qui rend le système absurde: /-titre-francais-.html?lang=en

J'ai essayé en version 2.1 et ça semble être la même chose ...

Y aurait-il une raison particulière à l'impossibilité d'extraire la
valeur du champ multi pour générer l'url ?

Est-ce que c'est envisageable d'avoir des urls en arbo avec le bon nom ?

Merci et à bientôt
Denis

J'ai l'impression que Spip ne gère pas bien les réecriture d'urls quand
on utilise les blocs multi pour les titres des rubriques.

Normal, il ne conserve que l'id associé à l'URL.

L'url unique /-titre-francais-.html est censée identifier différents
noms de rubriques et pour les différencier je devrais taper la langue
dans l'url, ce qui rend le système absurde: /-titre-francais-.html?lang=en

Y aurait-il une raison particulière à l'impossibilité d'extraire la
valeur du champ multi pour générer l'url ?

Il faudrait pour commencer ajouter un paramètre "lang" dans la table "spip_url".

Est-ce que c'est envisageable d'avoir des urls en arbo avec le bon nom ?

Ce serait top, effectivement.

Moi ce qui me gène le plus dans les URL arbo, depuis leur apparition native dans SPIP, c'est que la distinction entre deux URL se fait uniquement sur la dernière partie de l'URL, pas sur son intégralité, ce qui fait qu'on ne peut pas avoir ces deux URL :

http://example.com/dossier/toto/
http://example.com/autre-dossier/toto/

On a forcément ça :

http://example.com/dossier/toto/
http://example.com/autre-dossier/toto-13/

Où 13 est l'id de la seconde rubrique...

Et encore, là ce sont deux rubriques, mais le « conflit » de nom est aussi présent entre éléments de natures différentes.

-Nicolas

Nicolas Hoizey a écrit :

Est-ce que c'est envisageable d'avoir des urls en arbo avec le bon nom ?
    

Ce serait top, effectivement.
  

Et pour les propres aussi !
De mon côté j'ai été obligé de surcharger propres.php pour coller à la suite les url dans chaque langue...
Pas génial, mais ça permet d'aider un peu au référencement.

L'ajout d'un paramètre langue dans la table spip_url et son exploitation dans la génération et la résolution des url serait en effet un énorme bond en avant, car il ne rendrait pas les url propres dépendantes d'un certain type de structure de site (qui a ses avantages, mais aussi ses inconvénients), à savoir "un secteur par langue".

Avec le retravail sur les fichiers url de spip2.1, je m'attendais à trouver quelque-chose de ce genre...
Tant pis, ça sera pour une prochaine fois (pas trop lointaine s'il vous plaît ! :), il y a déjà des tonnes de super trucs à se mettre sous la dent en 2.1 (chapeau les dev, comme d'hab).

Le travail sur SPIP 2.1 a juste constitué à mettre à niveau la gestion avec le plugin externe des la 2.2.
Cela permet de le faire fonctionner avec SPIP 2.1, et il est donc possible d'envisager de telles évolutions dans le plugin qui seront aussi applicables à SPIP 2.1

Cédric

a écrit : Oui, et c’est en ça que je dis qu’il y a plein d’évolutions : franchement, quel boulot abattu ! le nouvel installeur de plugins est super (entre-autres), félicitations ! :slight_smile: On verra dans l’avenir pour l’amélioration des url version , quand le débat s’ouvrira, je veux bien faire un retour rapide d’expérience là-dessus. Simon

Salut,

Merci pour vos réponses, juste pour savoir quelle serait l'option la
plus réaliste dans le futur pour le site tel qu'il est conçu.

Les rubriques des deux premiers niveau sont multilingues, les autres ont
la langue définie. Les noms des articles et des rubriques sont
identiques dans chaque langue.

Par exemple pour /programme/119/philippines/pulp-politics,8187.html

-> programme = bloc multi
--> 119 = bloc multi
---> philippines = fr
----> pulp-politics,8187.html = fr

# option 1 /lang

Dans cette option il faut que spip puisse construire ses urls en
rajoutant la langue (de la rubrique, de l'article) en préfixe à l'url
qu'il génère actuellement. Dans cette option on supprime les blocs multi
et on utilise des rubrique "neutre" linguistiquement:

/fr/prog/119/philippines/pulp-politics,8187.html
/en/prog/119/philippines-3245/pulp-politics,8197.html

# option 2 /program /programme

On pourrait aussi imaginer récupérer (toujours sur base de la langue de
la rubrique ou de l'article) la bonne valeur du champ multi et générer
les urls en fonction.

/programme/119/philippines/pulp-politics,8187.html
/program/119/philippines-3245/pulp-politics,8197.html

Dans les deux cas, on reste avec l'impossibilité d'avoir deux noms
d'articles ou de rubriques identiques, ce qui reste fort laid :slight_smile:

Vous pensez qu'une des deux solutions a plus de sens ou peut-être
facilement mise en œuvre ?

A bientôt
Denis

Salut,

Merci pour vos réponses, juste pour savoir quelle serait l'option la
plus réaliste dans le futur pour le site tel qu'il est conçu.

Les rubriques des deux premiers niveau sont multilingues, les autres ont
la langue définie. Les noms des articles et des rubriques sont
identiques dans chaque langue.

Par exemple pour /programme/119/philippines/pulp-politics,8187.html

-> programme = bloc multi
--> 119 = bloc multi
---> philippines = fr
----> pulp-politics,8187.html = fr

# option 1 /lang

Dans cette option il faut que spip puisse construire ses urls en
rajoutant la langue (de la rubrique, de l'article) en préfixe à l'url
qu'il génère actuellement. Dans cette option on supprime les blocs multi
et on utilise des rubrique "neutre" linguistiquement:

/fr/prog/119/philippines/pulp-politics,8187.html
/en/prog/119/philippines-3245/pulp-politics,8197.html

# option 2 /program /programme

On pourrait aussi imaginer récupérer (toujours sur base de la langue de
la rubrique ou de l'article) la bonne valeur du champ multi et générer
les urls en fonction.

/programme/119/philippines/pulp-politics,8187.html
/program/119/philippines-3245/pulp-politics,8197.html

Dans les deux cas, on reste avec l'impossibilité d'avoir deux noms
d'articles ou de rubriques identiques, ce qui reste fort laid :slight_smile:

Vous pensez qu'une des deux solutions a plus de sens ou peut-être
facilement mise en œuvre ?

A bientôt
Denis