Re: SPIP nu
JLuc <[email protected]>
| Newsgroups | gmane.comp.web.spip.devel |
|---|---|
| Message-ID | <[email protected]> |
Le 24/05/2016 09:52, JLuc a écrit :
> j'imagine une extension du compilateur
> qui permette de générer les appels à ce pipeline à partir d'un code SPIP.
>
> Dans le plugin mots, il y aurait :
> [(#ETENDRE{boucle=_liste_art}{sourcefile=../prive/objets/liste/articles.html}
> {id_mot?})]
>
> Dans organiseur, il y aurait :
> [(#ETENDRE{boucle=_enligne}{sourcefile=../prive/objets/liste/auteurs_enligne.html}
> {imessage!=non}{en_ligne>#VAL{Y-m-d H:i:s}|date{#VAL{-15 minutes}|strtotime}}{!par en_ligne})]
En fait l'existant qui en est le plus proche est "La Fabrique" :
elle fait ce que je décris, mais avec une interface par formulaires
au lieu d'une interface par déclaration sous forme de code.
JLuc
>
> Ça suffit pour tes exemples, dans lesquels un plugin introduit des critères supplémentaires.
> C'est lisible, facile à comprendre et à écrire,
> et ça semble carrément naturel d'écrire du SPIP en SPIP et non en php.
>
> Dans l'absolu, on ne peut pas faire avec cette syntaxe
> tout ce qu'on peut faire en php
> et notamment éditer les critères pré-existants, si jamais il le fallait.
> Mais si c'est utile il pourrait y avoir des modificateurs :
> - {supprimer} pour carrément supprimer les critères préexistants,
> avant d'en ajouter de nouveaux.
> - {remplacer val1, val2} pour remplacer val1 par val2 dans les critères préexistants
> Mais ça devient plus compliqué et c'est pas nécessaire dans les cas simples comme ceux cités...
>
> Ah, et pour finir : je ne sais pas quand ou quel mécanisme compilerait ce fichier spip
> de déclaration d'extensions...
> Si ça se faisait, on pourrait potentiellement mettre dans ce fichier plein d'autres déclarations qui ainsi ne devraient
> plus se faire en php.
> Ce serait un pré-squelette comme il n'en existe pas encore à ma connaissance ; ça serait compilé automatiquement, avec
> un cache, ou bien dans l'interface privée il y aurait un bouton "Compiler les déclarations".
>
> JL
>
>
>
> Le 24/05/2016 08:49, James a écrit :
>> Salut,
>>
>> Un patch (non, 3) donc, mais pas pour un critère {pipeline} parce que finalement, ça me plaisait pas trop.
>>
>> ici, j'introduis un pipeline 'inserer_criteres' qui permet d'injecter des critères avant que le compilateur ne démarre
>> son analyse. Ce qui permet de coder des insertions à l'aide de chaine de caractères (ex: "{id_mots?}" plutôt que de
>> construire des instances de l'objet Critere, parce que c'est cauchemardesque :-)
>>
>> Exemple exhaustif avec les plugins mots et organiseur.
>>
>> Amitiés,
>>
>> Le 8 mai 2016 à 00:25, James <[email protected] <mailto:[email protected]>> a écrit :
>>
>> Je viens de faire l'essai. J'ai codé un critère {pipeline} qui appelle un pipeline inserer_critere, remplacé
>> {id_mot?} dans la boucle "_liste_art" par ce critère et ajouté une fonction dans le plugin mots qui insère le
>> critère {id_mot?} via le pipeline. Et ça marche.
>>
>> Le truc, tel que je l'ai codé, c'est que ce critère {id_mot?} sera inséré dans absolument toutes les boucles qui
>> exploiteront {pipeline}. On pourrait limiter aux seules boucles ARTICLES, ou ARTICLES+RUBRIQUES, par exemple. mais
>> ça sera appliqué quand même à toutes les boucles ARTICLES (ou ARTICLES+RUBRIQUES) et on ne le souhaite pas
>> forcément...
>>
>> De même, si un autre plugin utilise le pipeline inserer_critere, pour ajouter son critère, on se retrouve avec 2
>> critères ajoutés systématiquement à toutes les boucles... et on ne le souhaite pas forcément, non plus ...
>>
>> Et je ne suis pas certain que d'ajouter un paramètre soit judicieux : {pipeline truc} qui n'appliquerait que les
>> critères qui s'enregistrent dans "truc", je n'y crois pas beaucoup.
>>
>> Bref, je crois que soit il manque quelque chose à ce concept, soit que ce n'est pas le bon.
>>
>> Mais je fournis le patch si vous voulez.
>>
>>
>> Le 7 mai 2016 à 18:00, Eric Lupinacci <[email protected] <mailto:[email protected]>> a écrit :
>>
>> Yo,
>>
>>
>> Le 7 mai 2016 à 17:48, James <[email protected] <mailto:[email protected]>> a écrit :
>>
>>
>> Pour l'histoire des critères, j'ai plus de mal ...
>>
>>
>> On pourrait pas imaginer un meta critère {pipeline} dans une boucle qui indiquerait qu'on ouvre un point
>> d'entrée dans cette boucle pour y insérer des critères additionnels ?
>> Et dans le plugin on déclarerait un pipeline inserer_critere par exemple ou l'on donnerait suivant une syntaxe à
>> définir les éléments du critère ?
>>
>>
>> ++
>> Eric
>>
>>
>>
>>
>> --
>> James
>>
>>
>>
>>
>> --
>> James
>>
>>
>
>