Auteurs complets

Ceci est une « contribution pédagogique », qui montre par l’exemple comment développer une nouvelle fonctionnalité pour SPIP.

Exemple de plugin associé au plugin Champs Extras 2

Le mini plugin « Auteurs complets » est un exemple de plugin associé au plugin Champs Extras 2 de Fil et Mathieu Marcillaud.

Ce plugin ajoute cinq champs supplémentaires à la table spip_auteurs :

  • extras_civilite (M., Mle, Mme)
  • extras_prenom
  • extras_nom
  • extras_tel_fixe
  • extras_tel_mob

Les nouveaux champs disposent tous du même préfixe extras_ afin de ne pas interférer avec les champs d’origine de SPIP comme par exemple le champ nom (la signature) de la table spip_auteurs.

Les interfaces

Activation du plugin dans l’interface de configuration

Comme indiqué dans l’article du plugin Champs Extras 2, les interfaces d’affichage et de modification sont automatiquement créées dans la fiche auteur SPIP de l’espace privé.

Interface de modification des champs sur la fiche auteur SPIP
Affichage des champs sur la fiche auteur SPIP

Les balises

L’affichage de ces champs dans les squelettes se fait désormais très simplement avec SPIP 2.0 grâce aux balises du même nom que les champs créés :

  • #CIVILITE
  • #EXTRAS_PRENOM
  • #EXTRAS_NOM
  • #EXTRAS_TEL_FIXE
  • #EXTRAS_TEL_MOB

Finalité

Auteurs complets est un exemple supplémentaire de plugin associé à Champs Extras 2 [1] qui concerne cette fois-ci les auteurs. Il devrait permettre aux non programmeurs — dont je fais partie — de réaliser plus facilement leur plugin en partant d’un exemple simple.

Notes

[1Champs Extras 2 propose nativement deux plugins : Post Scriptum pour Rubriques et Titre Court pour Rubriques.

Discussion

Une discussion

  • 2

    Bonjour,
    Ce plugin m’intéresse car je dois juste rajouter le prénom à la liste de diffusion d’une cliente, pour laquelle j’utilise MailSubscribers et je ne sais pas du tout comment faire. Le site tourne en Spip 3.2 et je vais bientôt le passer en 4.0

    Je me demandais si c’est un plugin « prêt à l’emploi », car je lis que c’est une contribution pour montrer comment développer un plugin (je n’ai pas le niveau pour ça).

    Bien sûr, avant de poster ici, je l’ai d’abord testé en local, et là, catastrophe !!
    J’ai bien mis à jour d’abord Saisies et Cextras comme indiqué, puis j’ai activé ce plugin… Et je me retrouve avec une erreur PHP, qui m’empêche désormais tout accès au site en front, comme à l’admin (j’ai vidé le cache mais rien à faire).

    Ça affiche :
    Fatal error : Uncaught Error : Class ’ChampExtra’ not found in D :\SERVER\monsite\plugins\auto\auteurs_complets\base\auteurs_complets.php on line 5

    Je sollicite votre aide pour m’aider à sortir de là, et surtout, pour me dire comment je peux l’utiliser en toute sécurité sur un 3.2 ou un 4.0, ou quoi utiliser de façon simple et compatible (aussi avec MailSubscribers).

    J’ai bien regardé du côté du plugin « Contacts & organisations » mais sa compatibilité s’arrête à Spip 3.2 et le plugin « Coordonnées » est compatible 4.0 mais ne propose pas le champ prénom, bien qu’il propose beaucoup de choses (dont je n’ai pas besoin).

    Comme vous pouvez le comprendre avec cette demande, je n’ai pas le niveau en PHP, je m’arrête au HTML et CSS, et c’est pour ça que SPIP est aussi génial pour moi !
    D’avance merci pour vos retours.
    Cordialement,

    • Bonjour Karen,

      Ce plugin est en réalité un « plugin de plugin » fondé sur l’excellent Champs Extras. Je ne maîtrise pas non plus php mais les indications de Mathieu Marcillaud, son créateur, m’avaient précieusement aidé à l’époque. Un autre tuto est également disponible : Tutoriel : créer des champs extras depuis un plugin.

      Il n’est pas forcément utile de créer un plugin pour ajouter des champs à la base de Spip. Champs Extras le fait directement. Avec l’interface graphique associée au plugin, c’est devenu très simple.

      A vous de jouer !

    • Bonjour Olivier,
      Merci beaucoup pour votre réponse et vos pistes. En fait, bien sûr que ça ne pouvait pas fonctionner, puisque je n’avais pas CExtra d’installé sur ce site (vous parlez de CExtra 2 mais votre lien mène vers une page 404, et je crois que c’est une vieille version qui n’existe plus… ?)
      De ce que je comprends, ça fonctionnerai sur mon SPIP 3.2, si j’installe d’abord CExtra puis votre « plugin de plugin » ? (Mais peut-être pas sur un SPIP 4).
      Je comprends aussi que votre plugin ajoute des champs à la table « Auteur », or c’est sur la liste des inscrits que je souhaite agir…

      Je ne me sens pas la carrure pour suivre le tutoriel pour lequel vous m’avez donné le lien…

      En revanche, j’ai installé CExtra et Cextra Interface, pour ajouter un champ « Prénom », et ça fonctionne, sauf que je ne peux pas lui donner une place cohérente, puisqu’il vient en dernier dans les champs à remplir, mais surtout, le champ existe bien lorsqu’on entre un nouvel inscrit, ou lorsque l’on modifie un inscrit de la liste, mais ce champ n’est pas exporté dans la liste, ce qui fait que je n’ai pas résolu mon problème…
      Je vais peut-être aller chercher de l’aide du côté de Champs Extra, car en effet je n’avais pas pensé que je pouvais utiliser ça, et c’est un bon début de piste, me semble-t-il !
      Cordialement

    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