REQUETE: Référencer des articles par des articles

Spipiens, Spipiennes,

J’ai un besoin pressant d’implémenter la fonctionalité décrite ci-dessous.
Or celle-ci - très puissante cela dit, et dont j’ose espérer qu’elle intéressera bon nombre d’entre vous - requiert de modifier l’interface privée et la structure de la base (p.ex. créer des tables spip_articles_articles*) et je suis totalement béotien en la matière.
Pourriez-vous m’indiquer comment accéder aux resources parmi les programmeurs du noyau spip qui pourraient [m’aider à] mettre cela en oeuvre - moyennant éventuellement finance?

Merci d’avance pour vos réponses / idées / questions / commentaires…

Patrick

Il s’agirait de permettre aux articles* de se référencer mutuellement, sans devoir pour se faire créer des mots clés intermédiaires.

Ainsi, depuis l’interface privée correspondant à un article* je pourrais lui associer un autre article*, et ce par l’intermédiaire d’un menu tout à fait similaire (et aussi sympathique) à celle me permettant aujourd’hui de lui associer un mot-clé - à part que celle-ci me permettrait de sélectionner un article* qui serait ainsi ‹ référencé › par l’article* en cours.

Sur le plan de l’interface de programmation, j’aurais évidemment besoin de récupérer ces références, ce qui pourrait se faire de la manière suivante :

<BOUCLE_article_en_cours(ARTICLES){id_article}>

Articles référencés par cet article:

Articles faisant référence à cet article:

</BOUCLE_article_en_cours>

*voire à tout élément de contenu de spip (article, rubrique, brève, message, etc)

On 8/16/07, Olivier GENDRIN <o.gendrin@novactive.com > wrote:

Bien vu !


Olivier GENDRIN – NOVACTIVE

Développeur Web – Référent standards et accessibilité

Tel : + 33 1 48 24 33 60
Fax : + 33 1 48 24 33 54
http://www.novactive.com/


De : spip-bounces@rezo.net [mailto: spip-bounces@rezo.net] De la part de Patrick Bouchaud
Envoyé : mercredi 15 août 2007 18:48
À : spip@rezo.net
Objet : [Spip] [SPIP][1.9.x] Tip: boucles recursives

Bonjour chers tous,

Je lis dans la doc sur les boucles recursives:

Remarque 2 : Dans l’état actuel (SPIP 1.9) du compilateur de SPIP, la séquence <BOUCLEn(BOUCLEx)></BOUCLEn> doit figurer au premier niveau de la boucle x, autrement dit la boucle n doit être immédiatement englobée par la boucle x, non par une autre boucle elle-même à l’intérieur de la boucle x .
La levée de cette restriction est à l’étude.

Or pour les ceusses (comme moi) qui chercheraient à éviter les redondances du style:

<BOUCLE_racine(RUBRIQUES){racine}>

Traitement

<BOUCLE_enfants(RUBRIQUES){id_parent}>

Traitement *** LE MEME ***

<BOUCLE_recusive(BOUCLE_enfants)></BOUCLE_recursive>

</BOUCLE_enfants>

</BOUCLE_racine>

Voilà un truc (peut-être y en a-t-il d’autres?):

#SET{id,0}

<BOUCLE_parent(RUBRIQUES){id_parent=#GET{id}}>

Traitement *** UNE SEULE FOIS ***

<BOUCLE_recursive(BOUCLE_parent)></BOUCLE_recursive>

</BOUCLE_parents>

Je ne doute pas que bon nombre d’entre vous l’aient déj trouvé, m’enfin cela vaudrait p’tet la peine de le rajouter à la doc - histoire de faire gagner du temps aux ceusses (…) qui seraient un tant soit peu plus lents d’esprit que les z’autres
Allez bises :slight_smile:
Patrick

Patrick Bouchaud a écrit :

Spipiens, Spipiennes,
J'ai un besoin pressant d'implémenter la fonctionalité décrite ci-dessous.
Or celle-ci - très puissante cela dit, et dont j'ose espérer qu'elle intéressera bon nombre d'entre vous - requiert de modifier l'interface privée et la structure de la base (p.ex. créer des tables spip_articles_articles*) et je suis totalement béotien en la matière.
Pourriez-vous m'indiquer comment accéder aux resources parmi les programmeurs du noyau spip qui pourraient [m'aider à] mettre cela en oeuvre - moyennant éventuellement finance?
Merci d'avance pour vos réponses / idées / questions / commentaires...
Patrick

tu pourrais simplement rajouter la table dans la bdd et utiliser le pipeline (afficher_milieu) pour rajouter ton cadre de sélection des articles

un exemple dans le fichier plugin.xml de mots_partout
<pipeline>
        <nom>affiche_milieu</nom>
        <action>afficherMots</action>
        <inclure>mots_partout.php</inclure>
</pipeline>

et la fonction rajoute du contenu au flux en appellant la fonction afficherMots qui est dans le fichier mots_partout.php
donc fait ta fonction éventuellement fais un commit sur la zone maniére de commencer un plugin ( en partant du template_plugin)

ya moyen d'en faire un plugin interessant pour certains
jusque la pour associer des objets on passe par les mots clefs mais ca pourrait être une bonne chose d'associer directement les objets... ca simplifierait grandement les choses pour les utilisateurs et ca permettrait d'éviter d'utiliser les mots clefs pour faire de l'association.

Patrick Bouchaud a écrit :

Spipiens, Spipiennes,
J'ai un besoin pressant d'implémenter la fonctionalité décrite ci-dessous.
Or celle-ci - très puissante cela dit, et dont j'ose espérer qu'elle intéressera bon nombre d'entre vous - requiert de modifier l'interface privée et la structure de la base (p.ex. créer des tables spip_articles_articles*) et je suis totalement béotien en la matière.
Pourriez-vous m'indiquer comment accéder aux resources parmi les programmeurs du noyau spip qui pourraient [m'aider à] mettre cela en oeuvre - moyennant éventuellement finance?
Merci d'avance pour vos réponses / idées / questions / commentaires...

il faudrait decrire plus precisement l'utilisation (qui fait le lien, avec ou sans workflow, est-ce plutot un article qui en reference plein ou une grosse toile d'araignée ...)

on s'est un peu cassé les dents sur les mots clés / mots clés dans mots_partout car il y a beaucoup de choses faites automatiquement dans spip et qu'on ne peut pas avoir deux champs homonymes dans une table.

en fait il te faudrait une table spip_articles_articles(id_article_parent,id_article_enfant) pour pouvoir faire :
<BOUCLE(ARTICLES){id_article_parent=X}>
ou
<BOUCLE(ARTICLES){id_article_enfant=X}>

maintenant au niveau de la declaration des jointures, c'est pas gagné, mais au pire en ecrivant le critere, c'est pas compliqué.

la grand question, c'est la saisie de ces liens...

Enfin, aussi bien en utilisant les forums de l'article (avec art12 dans l'url) ou les liens de traduction (fr=>fr), ca te suffirait, ca depend de l'usage.

@++