squelettes auteurs distincts

Bonjour la liste,

Je me creuse la tête devant le problème suivant:
Je souhaite que les pages "auteur" du site renvoient à des articles
spécifiques, et ceci pour une dizaine d'auteurs du site SPIP en question.

Il apparaît que des squelettes nommés "auteur-1.html" ou "auteur=1.html"
ne sont pas pris en compte.

Une entrée dans le forum SPIP propose une boucle conditionelle:
http://forum.spip.org/fr_186171.html

Mais comment appliquer cela s'il faut créer non pas 2, mais 10
redirections pour des auteurs spécifiques?

Et le très pratique onglet "redirection d'article" n'est hélas pas
présent dans la section "auteurs" de l'interface admin.

Merci d'avance pour vos éclaircissements!!
/Manuel

Je progresse et j'ai trouvé une piste de solution ici:

J'ai essayé d'appliquer cette solution en remplaçant ma page auteur.html
par ce code:

<BOUCLE_principale(AUTEURS){id_auteur}{doublons}>
  [(#CHEMIN{auteur-#ID_AUTEUR.html}|?{' ',''})
  <INCLURE{fond=auteur-#ID_AUTEUR}{id_auteur}{self=#SELF}>]
  [(#CHEMIN{auteur-#ID_AUTEUR.html}|?{'',' '})
  <INCLURE{fond=auteurs}{id_auteur}{self=#SELF}>]
</BOUCLE_principale>

Sachant que j'ai renommé mon ancienne page "auteur.html" en "auteurs.html"

Les trois premières lignes de ce code fonctionnent, p.ex. l'auteur No2
disposant d'une page "auteur-2.html" est correctement redirigé.

Toutefois les auteurs ne possédant pas une telle page me donnent à
présent une erreur 404 -- j'en déduis que l'appel de ma page
auteurs.html (lignes 5 et 6 de ce bout de code) ne fonctionne pas
correctement ...

J'espère que quelqu'un saura me dire où est l'erreur !

tar.gz a écrit:

Bonjour la liste,

Je me creuse la tête devant le problème suivant:
Je souhaite que les pages "auteur" du site renvoient à des articles
spécifiques, et ceci pour une dizaine d'auteurs du site SPIP en question.

Il apparaît que des squelettes nommés "auteur-1.html" ou "auteur=1.html"
ne sont pas pris en compte.

Une entrée dans le forum SPIP propose une boucle conditionelle:
http://forum.spip.org/fr_186171.html

Mais comment appliquer cela s'il faut créer non pas 2, mais 10
redirections pour des auteurs spécifiques?

Et le très pratique onglet "redirection d'article" n'est hélas pas
présent dans la section "auteurs" de l'interface admin.

Merci d'avance pour vos éclaircissements!!
/Manuel

tar.gz a écrit :

Toutefois les auteurs ne possédant pas une telle page me donnent à
présent une erreur 404 -- j'en déduis que l'appel de ma page
auteurs.html (lignes 5 et 6 de ce bout de code) ne fonctionne pas
correctement ...

une idée (testée et fonctionnelle en 2.0.9) :

tu dupliques la page auteur.html et la renommes auteur-defaut.html
tu vides l'originale auteur.html pour n'y avoir que :

   <BOUCLE_principale(AUTEURS) {id_auteur}>
     [(#CHEMIN{auteur-#ID_AUTEUR.html}|?{
       #INCLURE{fond=auteur-#ID_AUTEUR, env}
       ,
       #INCLURE{fond=auteur-defaut, env}
     })]
   </BOUCLE_principale>

pour que cela fonctionne il ne doit pas y avoir de page
auteur.html dans squelettes-dist (la renommer : auteur.html.copie)

et que tes pages auteur-xx.html soient dans le même répertoire que
auteur.html (celle qui ne contient plus que la boucle ci-dessus)

vidage de cache sans doute nécessaire aussi

denisb a écrit :

une idée (testée et fonctionnelle en 2.0.9) :

non.
finalement et plus simplement
(vider le cache pour éviter des 404 malvenues)

tu poses :
   auteur.html (qui ne contient que la boucle)
   auteur-1.html (page personnalisée pour id=1)
   auteur-29.html (page personnalisée pour id=29)
   auteur-defaut.html (copie de squelettes-dist/auteur.html)
dans squelettes/

sans toucher à squelettes-dist/ ni à son fichier auteur.html

Bonjour,

Pas tester encore, mais de la logique. Ton code est bon, mais il suffirait de mettre « squelettes » dans ton chemin pour qu’il n’y ait pas de conflit avec la page auteur.html, soit :
<BOUCLE_principale(AUTEURS) {id_auteur}>
[(#CHEMIN{squelettes/auteur-#ID_AUTEUR.html}|?{
#INCLURE{fond=auteur-#ID_AUTEUR, env}
,
#INCLURE{fond=auteur-defaut, env}
})]
</BOUCLE_principale>

Le 11 septembre 2009 14:00, denisb <denisb@laposte.net> a écrit :

tar.gz a écrit :

Toutefois les auteurs ne possédant pas une telle page me donnent à
présent une erreur 404 – j’en déduis que l’appel de ma page
auteurs.html (lignes 5 et 6 de ce bout de code) ne fonctionne pas
correctement …

une idée (testée et fonctionnelle en 2.0.9) :

tu dupliques la page auteur.html et la renommes auteur-defaut.html
tu vides l’originale auteur.html pour n’y avoir que :

<BOUCLE_principale(AUTEURS) {id_auteur}>

[(#CHEMIN{auteur-#ID_AUTEUR.html}|?{

#INCLURE{fond=auteur-#ID_AUTEUR, env}
,
#INCLURE{fond=auteur-defaut, env}
})]
</BOUCLE_principale>

pour que cela fonctionne il ne doit pas y avoir de page
auteur.html dans squelettes-dist (la renommer : auteur.html.copie)

et que tes pages auteur-xx.html soient dans le même répertoire que
auteur.html (celle qui ne contient plus que la boucle ci-dessus)

vidage de cache sans doute nécessaire aussi


liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
http://archives.rezo.net/spip.mbox/

Documentation de SPIP : http://www.spip.net/

Irc : de l’aide à toute heure : http://spip.net/irc

Ah, magie, le script ci-dessous fonctionne bel et bien!

L'erreur 404 ne se produit que pour les auteurs qui *n'ont pas encore
écrit d'articles* !!

Bref, c'est une situation théorique qui ne se produira pas une fois le
site opérationnel, problème résolu donc !!!

Merci les archives de la liste :wink:

tar.gz said the following on 11/09/09 13:31:

Je progresse et j'ai trouvé une piste de solution ici:
Squelettes pour groupes et par groupes de mots - SPIP-Contrib

J'ai essayé d'appliquer cette solution en remplaçant ma page auteur.html
par ce code:

<BOUCLE_principale(AUTEURS){id_auteur}{doublons}>
  [(#CHEMIN{auteur-#ID_AUTEUR.html}|?{' ',''})
  <INCLURE{fond=auteur-#ID_AUTEUR}{id_auteur}{self=#SELF}>]
  [(#CHEMIN{auteur-#ID_AUTEUR.html}|?{'',' '})
  <INCLURE{fond=auteurs}{id_auteur}{self=#SELF}>]
</BOUCLE_principale>

Sachant que j'ai renommé mon ancienne page "auteur.html" en "auteurs.html"

Les trois premières lignes de ce code fonctionnent, p.ex. l'auteur No2
disposant d'une page "auteur-2.html" est correctement redirigé.

Toutefois les auteurs ne possédant pas une telle page me donnent à
présent une erreur 404 -- j'en déduis que l'appel de ma page
auteurs.html (lignes 5 et 6 de ce bout de code) ne fonctionne pas
correctement ...

J'espère que quelqu'un saura me dire où est l'erreur !

Et si tu entoures ta boucle de

<B_principale>
Ta boucle
</B_principale>
Un truc à afficher si l'auteur n'a pas écrit d'article
<//B_principale>

Tu auras un résultat plus propre que l'erreur 4004, que ton auteur ait écrit ou pas un article ou que le numéro existe ou pas

Le Vendredi 11 Septembre 2009 14:23:19 tar.gz <tar.gz@1904.cc>, dans un message intitulé "[Spip] Résolu: squelettes auteurs distincts" nous a informés :

Ah, magie, le script ci-dessous fonctionne bel et bien!

L'erreur 404 ne se produit que pour les auteurs qui *n'ont pas encore
écrit d'articles* !!

Bref, c'est une situation théorique qui ne se produira pas une fois le
site opérationnel, problème résolu donc !!!

Merci les archives de la liste :wink:

tar.gz said the following on 11/09/09 13:31:

Je progresse et j'ai trouvé une piste de solution ici:
Squelettes pour groupes et par groupes de mots - SPIP-Contrib

J'ai essayé d'appliquer cette solution en remplaçant ma page auteur.html
par ce code:

<BOUCLE_principale(AUTEURS){id_auteur}{doublons}>
  [(#CHEMIN{auteur-#ID_AUTEUR.html}|?{' ',''})
  <INCLURE{fond=auteur-#ID_AUTEUR}{id_auteur}{self=#SELF}>]
  [(#CHEMIN{auteur-#ID_AUTEUR.html}|?{'',' '})
  <INCLURE{fond=auteurs}{id_auteur}{self=#SELF}>]
</BOUCLE_principale>

Sachant que j'ai renommé mon ancienne page "auteur.html" en "auteurs.html"

Les trois premières lignes de ce code fonctionnent, p.ex. l'auteur No2
disposant d'une page "auteur-2.html" est correctement redirigé.

Toutefois les auteurs ne possédant pas une telle page me donnent à
présent une erreur 404 -- j'en déduis que l'appel de ma page
auteurs.html (lignes 5 et 6 de ce bout de code) ne fonctionne pas
correctement ...

J'espère que quelqu'un saura me dire où est l'erreur !

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

--
****Fin du message end - Signature****
Perline

spip@perline.org – http://perline.org/

Ce message est couvert par le secret de la correspondance
(art. 226-15 et 432-9 du Code pénal)
********************************************