proposition de patch

Salut la liste,
  hier soir, j'ai continué à cogiter à mon histoire de navigation, et
j'ai fait une modif dans le moteur spip qui m'a permis d'arriver à mes
fins. Que j'm'explique (sorry, j'ai oublié le code chez moi, les
exemples sont donc pipo) : j'avais dis dans un mail précédent que je
pensais faire ça avec des boucles de ce type :

<BOUCLE0(RUBRIQUE){id_rubrique}>
  <BOUCLE1(RUBRIQUE){meme_parent}{id_rubrique < id_rubrique de la boucle au dessus}>
     #TITRE (les rubriques soeurs avant)
  </BOUCLE1>
</BOUCLE0>

  J'ai donc bricolé inc-calcul-squel.php3 pour qu'il accepte la condition suivante :
{id_rubrique < !-1:id_rubrique} (la syntaxe est moche, mais il était 22 heures :slight_smile:
  En gros, quand on met une condition de type {champ op valeur}, on peut mettre !n:champ
pour qu'il aille chercher le champ "champ" de la boucle de niveau "n"
  Si "n" est négatif, on va chercher -n boucles au dessus. S'il est positif ou nul,
on va chercher exactement la boucle de niveau "n".

  Maintenant, 3 trois questions :
- est-ce que je me suis expliqué n'importe comment ou tout le monde à compris ?
- est-ce que certains d'entre vous trouvent ça utile, tordu, faisable autrement (rayer les
  mentions inutiles :slight_smile:
- est-ce qu'il est pertinent d'intégrer ça dans le code "officiel" (sachant que j'ai pas du
  modifier plus de 12 lignes, mais qu'il faudrait que les pro du code vérifient qu'il n'y
  a pas d'effets de bord)

À+, Pif.

PS: l'exemple que j'ai codé hier est pour un site associatif que j'ai commencé à refaire
  en spip. J'espère mettre ça sur free d'ici peu pour pouvoir montrer à quoi ça ressemble.

At 9:42 +0200 3/07/02, Christian Lefebvre wrote:

  J'ai donc bricolé inc-calcul-squel.php3 pour qu'il accepte la condition suivante :
{id_rubrique < !-1:id_rubrique} (la syntaxe est moche, mais il était 22 heures :slight_smile:
  En gros, quand on met une condition de type {champ op valeur}, on peut mettre !n:champ
pour qu'il aille chercher le champ "champ" de la boucle de niveau "n"
  Si "n" est négatif, on va chercher -n boucles au dessus. S'il est positif ou nul,
on va chercher exactement la boucle de niveau "n".

  Maintenant, 3 trois questions :
- est-ce que je me suis expliqué n'importe comment ou tout le monde à compris ?
- est-ce que certains d'entre vous trouvent ça utile, tordu, faisable autrement (rayer les
  mentions inutiles :slight_smile:
- est-ce qu'il est pertinent d'intégrer ça dans le code "officiel" (sachant que j'ai pas du
  modifier plus de 12 lignes, mais qu'il faudrait que les pro du code vérifient qu'il n'y
  a pas d'effets de bord)

À mon avis, y'aurait de gros tests à réaliser. Je vois pas trop comment ça pourrait récupérer des valeurs n'importe où (en amont et en aval).
Pour la syntaxe, la numérotation relative est à mon avis à exclure, car génératrice d'erreurs...

Plus largement, si on se penche sur une telle question, il faut faire une étude "générale" du machin. Donc pas se limiter aux critères des requêtes, mais aussi aux pseudo-balises SPIP.

Par exemple:

<BOUCLE_rubrique_choisie(RUBRIQUES){....}>

<BOUCLE_rubrique2(RUBRIQUES)...>

<BOUCLE_articles(ARTICLES){id_rubrique=id_rubrique:rubrique_choisie}...>
#TITRE:rubrique_choisie
#TITRE

c'est-à-dire qu'on pourrait utiliser dans les critères et les pseudo-tags des éléments tirés d'une autre boucle, appelée à partir de son nom de boucle, et non d'un numéro relatif.

ARNO*

--
Le Scarabée : http://www.scarabee.com
uZine 3 : http://www.uzine.net