SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

290 Plugins, 198 contribs sur SPIP-Zone, 75 visiteurs en ce moment

Accueil > Navigation > Navigation transversale > a2a > Typage des relations entre articles avec A2A

Typage des relations entre articles avec A2A

2 septembre 2012 – par Maïeul – 24 commentaires

9 votes

La version 2.X du plugin A2A, qui nécessite SPIP 3 minimum, permet de typer les relations entre articles.

Principe du typage entre relations

Deux articles peuvent être reliés ensembles par plusieurs types de relations, par exemple :

  • un article peut être la suite d’un autre.
  • un article peut parler d’un sujet connexe à un autre article.
  • un article peut être une correction d’un autre article.
  • etc.

Le(s) webmestre(s) du site va donc pouvoir définir des types de relation entre articles.
Chaque type de relation se définit par :
-  une clef unique qui sert pour le webmestre dans les boucles. Cette clef ne doit pas contenir d’espaces ni de caractères spéciaux ou accentués.
-  un titre, qui sert pour les rédacteurs, afin de choisir le type de relation. Le titre peut le cas échéant être traduit dans la langue du rédacteur.

Par exemple nous pourrions avoir comme clef "suite" et comme titre "article suivant".

Définition des types

Un webmestre peut se rendre dans la page de configuration des types via le Menu "Configuration" -> "Relations entre articles". Il accède alors au formulaire suivant :

Le premier champ doit contenir l’ensemble des types de liaisons. Chaque type se situe sur une ligne, sous la forme : clef,titre.

Par exemple :

Le titre peut être une chaîne de langue : module:chaine (voir la documentation sur les chaînes de langues).

Si vous essayez de supprimer un type de liaison utilisé, le plugin vous en avertit et vous donne la liste des articles qui utilisent ce type de liaison : il ne vous reste plus qu’à changer les liaisons ayant ce type.

Il est possible de rendre obligatoire le typage de liaison. Si vous cochez la case alors qu’il existe des articles avec des liaisons non typées, le plugin vous en averti : il ne vous reste plus qu’à typer les liaisons (ou les supprimer).

Il est également possible de permettre de relier plusieurs fois deux articles en ayant un typage différent. Par exemple relier les articles 1 et 2 selon le type "article suivant" "sujet connexe". Si vous tentez de désactiver cette option alors qu’il existe plusieurs relations entre 2 mêmes articles, le plugin vous en empêche et vous fournit la liste des relations problématiques. Il ne vous reste plus qu’à choisir un type de relations.

Par ailleurs, il est possible de définir des types non modifiables. Pour cela, il suffit de définir la variable globale $a2a_types_liaisons dans le fichiers mes_options.php. Cette variable est un tableau PHP clef/valeur :

  1. $GLOBALS['a2a_types_liaisons'] = array(
  2. 'suite'=>'Article suivant',
  3. 'connexe'=>'Article connexe',
  4. 'correction'=>'Correctif'
  5. );  

Télécharger

Pour le rédacteur

Le formulaire d’ajout d’une relation permet désormais d’en préciser le type. Par ailleurs, la liste des relations d’un article permet de modifier le typage d’une relation, en cliquant sur "modifier" à côté du type.

Cependant, il faut faire attention aux relations entre article dans les deux sens. Si vous modifiez le type de relation entre l’article 1 et l’article 2, le type de relation entre l’article 2 et l’article 1 n’est pas modifié.

Dans les squelettes

La boucle (ARTICLES_LIES) peut prendre le critère {type_liaison=clef} pour préciser le type de liaison souhaité. Par exemple pour lister les articles liés avec le type « connexe » [1].

  1. <B_connexes>
  2. <ol>
  3. <BOUCLE_connexes(ARTICLES_LIES){id_article}{type_liaison=connexe}{par rang}>
  4. <li><a href="#URL_ARTICLE{#ID_ARTICLE_LIE}">#INFO_TITRE{article,#ID_ARTICLE_LIE}</a></li>
  5. </BOUCLE_connexes>
  6. </ol>
  7. </B_connexes>

Télécharger

Par ailleurs on dispose au sein de la boucle (ARTICLES_LIES)de la balise #TYPE_LIAISON, sur lequel on peut appliquer le filtre |a2a_traduire_type_liaisons pour obtenir le titre du type de liaison (par exemple "Article connexe" pour le type "connexe").

On peut également utiliser #TYPES_LIAISONS en combinaison avec la boucle (DATA) de SPIP 3 pour lister les types de liaisons. Ainsi, pour afficher tout les articles liés en séparant les types de liaisons :

  1. <BOUCLE_types_liaisons(DATA){source tableau, #TYPES_LIAISONS}>
  2. <B_articles_lies>
  3. [<h2>(#CLE|a2a_traduire_type_liaisons)</h2>]
  4. <ol>
  5. <BOUCLE_articles_lies(ARTICLES_LIES){id_article}{par rang}{type_liaison=#CLE}>
  6. <li><a href="#URL_ARTICLE{#ID_ARTICLE_LIE}">#INFO_TITRE{article,#ID_ARTICLE_LIE}</a></li>
  7. </BOUCLE_articles_lies>
  8. </ol>
  9. </B_articles_lies>
  10. </BOUCLE_types_liaisons>

Télécharger

Enfin, la balise #ARTICLES_LIES peut prendre un deuxième argument précisant le type de liaison : #ARTICLES_LIES{'',connexe} ;
depuis la version 3.1.0, il en est de même pour la balise #ARTICLES_LIANT : #ARTICLES_LIANT{'',connexe}.

Voir en ligne : http://plugins.spip.net/a2a

Dernière modification de cette page le 27 avril 2014

Retour en haut de la page

Vos commentaires

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Mailsubscribers

    16 janvier 2013 – 407 commentaires

    Ce plugin permet de gérer les inscriptions (ou abonnements) à la diffusion de contenu par email. Mailsubscribers permet de gérer les inscriptions par Opt-in simple ou double et la désinscription par URL. Ce plugin gère également plusieurs listes de (...)

  • SPIP 3.2, Agenda et FullCalendar

    6 juin – commentaires

    Nous avions publié un article sur la manière d’utiliser FullCalendar avec SPIP 3.0 afin d’afficher des évènements sous forme d’Agenda. La version de FullCalendar a changé avec SPIP 3.2. Le présent article est donc un tutoriel adapté à SPIP 3.2. Pour (...)

  • Convertir un site SPIP 3 en utf-8 avec le plugin Grenier

    8 janvier 2014 – 22 commentaires

    SPIP 3 fonctionne nativement avec l’encodage universel unicode utf-8. Sur certains sites (par exemple sur une mise à jour), on peut avoir un site qui est resté en iso-latin ce qui n’est pas conseillé (source de bugs, d’incompatibilité, ...) . (...)

  • Nouvelle version - Modération de modifications

    29 janvier 2012 – 49 commentaires

    Suite à une migration depuis SPIP-Agora, j’ai développé ce plugin permettant de reprendre la fonctionnalité « Nouvelle version » inexistente sur SPIP2 ni sur SPIP3 Ce plugin permet d’étendre le work-flow de -rédaction-publication d’un article au cas d’un (...)

  • ScolaSPIP 4

    19 janvier 2016 – 358 commentaires

    ScolaSPIP est plugin-squelette responsive personnalisable pour sites Web d’établissements scolaires basé sur SPIPr Présentation de ScolaSPIP Ce plugin pour SPIP 3 est développé par la Dane de l’académie de Versailles pour les webmestres de cette (...)