Grappes 3.0

Ce plugin permet de créer des collections de différents objets éditoriaux dans SPIP

Présentation

Ce plugin permet de créer des collections d’objets éditoriaux hétéroclites dans SPIP.

Note : Dans certains cas (notamment pour un nouveau site), il peut être préférable d’utiliser le plugin Sélections Éditoriales. N’hésitez pas à regarder de son côté aussi.

Installation

Ce plugin nécessite le plugin Sélecteurs générique en version 2.0.0 minimum.

Attention : pensez bien à activer le fichier .htaccess (ou équivalent) de SPIP, sans quoi l’API d’autocomplétion ne fonctionnera pas.

Utilisation du plugin

La page qui liste les grappes du site est accessible dans le menu Édition de l’espace privé.

Capture de la page de liste des grappes en SPIP 4.2

La création d’une Grappe nécessite d’indiquer un identifiant textuel pour cette grappe, et de définir quels objets éditoriaux on peut affecter dedans.

Ceci fait, il est possible d’ajouter des éléments dans la grappe, si un sélecteur d’autocompletion existe pour cet objet (c’est à dire un fichier selecteurs/grappes_{objets}.html tel que selecteurs/grappes_articles.html)

Capture d’ajout d’un article dans une Grappe en SPIP 4.2

Boucles et balises

Tables du plugin

spip_grappes

La table spip_grappes est la table principale du plugin, c’est elle qui contient les informations relatives aux grappes.

spip_grappes
Nom du champtypeutilitébalise
id_grappe auto incrémenté ... #ID_GRAPPE
id_admin entier auteur de la grappe #ID_ADMIN
identifiant texte Identifiant textuel de la grappe #IDENTIFIANT
titre texte ... #TITRE
descriptif texte ... #DESCRIPTIF
options tableau sérialisé options de la grappe (droits d’accès, etc.) ...
liaisons liste contient les types d’objets qu’on peut lier à la grappe ...
type texte  ? #TYPE
visibilite texte  ? ’public’ #VISIBILITE
date date date de création de la grappe #DATE
maj date date de la dernière modification apportée à la grappe #MAJ

Note : Les champs type et visiblitite se sont pas exploités par le plugin…

spip_grappes_liens

La table spip_grappes_liens est une table de liaison classique.

spip_grappes_liens
Nom du champtypeutilité
id_grappe entier le lien avec la table spip_grappes
objet texte type de l’objet lié
id_objet entier id de l’objet lié
rang_lien entier rang du lien entre l’objet et la grappe

Note : Un ordre peut être donné par glisser / déplacer dans les listes d’objets, qui affecte le champ rang_lien.

Quelques exemples de boucles

Pour lister les grappes d’un auteur, on écrira dans un boucle AUTEURS :

<BOUCLE_b(GRAPPES){id_admin=#ID_AUTEUR}>
#ID_GRAPPE - #TITRE
<BOUCLE_b>

Pour lister les article présent dans une grappe, on écrira dans une boucle GRAPPES :

<BOUCLE_b(ARTICLES){id_grappe}>
#ID_ARTICLE - #TITRE
<BOUCLE_b>

Et pour trier les articles selon leur rang dans la grappe avec {par rang_lien} :

<BOUCLE_b(ARTICLES){id_grappe}{par rang_lien}>
#ID_ARTICLE - #TITRE
<BOUCLE_b>

Historique

Version 3

  • Nécessite SPIP 4.2 minimum
  • Réécriture du JS
  • Nécessite plugin Selecteur Générique v2
  • Nécessite plugin Select2 v2
  • Retour JSON des selecteurs/grappes_* au format Sélecteur Générique v2

Discussion

Une discussion

  • 3

    Bonjour,
    Petite question, je viens de monter de version un spip en version 4.2.3 avec la dernière version de grappes.

    J’ai bien le HTACESS par defaut, qui est activé sous spip,
    Mais lorsque je veux rattacher un article j’ai le message :
    ==> « Les résultats ne peuvent pas être chargés ».

    Je n’avais pas ce comportement auparavant.

    J’ai testé en désactivant tous les autres plugins, cela ne change rien, toujours bloqué.

    Je suis sous OVH pour information.

    Vous auriez une idée ?

    Merci.

    • 1) Il y a eu de gros changements dans ce plugin et Select2 derrière
      2) Il faut effectivement un .htaccess à jour avec le SPIP, particulièrement sur la ligne redirigeant les .api

      Si un rien habitué, il peut être intéressant de regarder les outils de développement du navigateur, notamment l’onglet Réseau, pour voir le résultat de la requête ajax effectuée au moment de rechercher un contenu dans le sélecteur ; il y a peut être dedans une erreur PHP qui se mélange dans le JSON récupéré provoquant une erreur de lecture.

    • Voici une capture d’écran de ce que peut donner cet onglet chez moi

    • Bonjour Matthieu,
      Merci pour ta réponse rapide,
      Avec ta méthode, j’ai identifié une chaine de caractère qui était chargé en amont du JSON...
      et après recherche cela venait du fichier « mes_options.php ».
      J’ai réglé le soucis.

      Ensuite il m’a fallu modifié mon squelette car je j’appelais directement un « id_grappe =3 » dans une boucle ARTICLL, mais cela ne fonctionne plus, j’ai donc encapsulé le tout dans une boucle GRAPPE.

      Merci en tout cas à toi cela à réglé mon problème :)

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

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

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom