Plugin Insérer Modèles

Ce plugin fournit une aide à l’insertion des modèles dans vos textes à travers des formulaires de saisies. Ces formulaires sont accessibles dans la colonne de droite ou via un bouton dans le porte-plume.

Formulaires d’insertion dans la colonne latérale

Sur les pages d’édition des articles, des rubriques, des brèves et des mots-clés, le formulaire ci-dessous est affiché dans la colonne latérale. Son contenu est fonction des plugins et modèles installés sur votre site.

Encart d’insertion

Sélectionnez le modèle que vous souhaitez insérer et remplissez le formulaire.

Cliquez sur Insérer : l’appel du modèle est alors calculé et intégré à l’emplacement courant dans le texte.

Remarque : la liste des modèles proposés dépend des plugins installés sur votre site. En effet, charge à chaque plugin de déclarer à Insérer Modèles les modèles qu’il propose (cf. Comment déclarer un modèle pour le plugin « Insérer Modèles »). Si aucun plugin actif ne déclare de modèle à insérer, alors le formulaire d’Insérer modèles n’est pas affiché.

Exemples de plugins déclarant des modèles à Insérer modèles :
-  Plugin Modèles media,
-  Formidable, le générateur de formulaires,
-  Cite : des modèles pour les références bibliographiques,
-  Modèle exergue

Votre squelette ou plugin peut également déclarer ses modeles pour que Insérer modèles les propose. Pour cela, suivez les instructions dans la dernière partie de cet article.

Utilisation avec le porte-plume

Si le porte-plume est activé, un bouton pour l’insertion des modèles sera ajouté au porte-plume.

Positionnez le curseur à l’endroit du texte où vous souhaitez insérer le modèle puis cliquez sur le bouton en forme de pièce de puzzle, vous ferez apparaître une
fenêtre vous permettant de choisir le type de modèle que vous souhaitez insérer.

Il est également possible de choisir directement le type de modèle que vous souhaitez insérer via les boutons (sous-menu) qui apparaissent au survol avec la souris du bouton principal.

Remplissez le formulaire.

Insérer un modèle via la barre typographique

Lorsque vous cliquez sur Insérer, l’appel du modèle est calculé et automatiquement inséré à l’endroit où ce situait votre curseur dans le texte.

Page de configuration du plugin

La page de configuration du plugin permet :
-  de lister les pages d’édition où utiliser le plugin ;
-  de désactiver certains modèles, depuis la version 2 du plugin [1].

Formulaire de configuration du plugin

Déclarer des modèles à Insérer Modèles

Le plugin Insérer Modèles proposera à l’insertion tous les fichiers YAML trouvés dans un sous-répertoire modeles/ de plugins actifs. Ces fichiers permettent de décrire le formulaire d’insertion du ou des modèles concernés.

Pour plus de détails, voir Comment déclarer un modèle pour le plugin « Insérer Modèles ».

Notes

[1À noter que pour les dev, il est également possible de désactiver certains modèles via un pipeline.

Discussion

32 discussions

  • Bonjour,

    Sous Spip 3.04 et Insérer Modèles 1.1.1, j’ai un message d’erreur en utilisant la barre du porte plume :
    Request unsuccessful : Not Found

    Par contre, le petit formulaire sur le côté fonctionne.

    Répondre à ce message

  • 6

    Bonjour,

    Tout d’abord merci pour e plugin le concept est très sympa et quand ont as pas mal de modèle et de plugins ça aide bien ;-)

    Par contre après test sur spip3.0.3 et juste les plugins nécessaires (Saisie,bonux,Yaml ...), j’ai bien les formulaires formidable, un modèle de test a moi qui fonctionne nikel, mais pas d’icone pour les modèles documents : c’est toujours d’actualité ??? ça a été enlevé de medias dans la dernière version ???

    bref un idée ?du pourquoi

    • Il n’y a jamais eu d’icônes pour les modèles de documents natifs de SPIP. Seulement pour les modèles media du plugin du même nom.

      Cordialement

    • désolé de te contredire Joseph, mais les icones pour les modèle de documents natifs à SPIP, cela existe depuis longtemps. Regarde le dossier prive/vignettes

      ceci dit, je ne comprend pas quel est exactement le pb chez Mist Graph X. Comment insère tu le modèle et qu’obtiens tu ?

    • pour Joseph : je parle bien d’un SPIP 2.1 Et je suis sûr que cela existe depuis plus longtemps …

    • Il va falloir clarifier quel est le problème.

      Oui, il y a les vignettes de documents avec une icône par type de document. Mais cela n’a strictement rien à voir avec le plugin Insérer Modèles.

      S’il s’agit des modèles listés dans le formulaire Insérer Modèles, le plugin Insérer Modèles ne fournit rien pour insérer les modèles doc, img ou emb. Par contre, si le plugin modèles media est actif, le formulaire d’insérer modèles proposera d’insérer un modèle media.

    • En fait je n’ai pas la petite icone avec le trombone ! qui permet d’ajouter un document.

      Je n’ai pas non plus accès a cette fonction dans la boite info. Et donc du coup vu que l’article et les captures d’écran montre ce principe de fonctionnement, je me demandais si c’était normal ou un « bug ».

      testé sur un spip 3.0.3, et juste les plugins nécessaires activé (mis a jours avec les dernières versions)

    • Ok autant pour moi mea culpa comme ont dit : j’avais pas installé modèle media et donc voici pourquoi je n’avais pas l’icone avec le trombone.

      Par contre si je peut me permettre peut-être faudrait il le souligner dans l’article car la j’avais vraiment cru comprendre que c’était lié a la médiathèque (appelé media depuis).
      Et sinon un <utilise> dans le paquet m’aurait peut être mis sur une piste aussi ;-)

      Donc encore merci, je découvre deux plugins biens intéressants et qui plus est une norme pour les modèles medias (ce qui est plutôt bien : ont va peut être tendre vers une clarification entre images et documents lol ).

      et désolé pour le bruit :p

    Répondre à ce message

  • 3

    Hello Joseph,

    ça fait un certain temps que j’ai ce plugin d’activé sur un site, mais seulement aujourd’hui j’ai placé mes formulaires d’édition dans le site lui-même et là PAF : je m’aperçois que ton plugin utilise un exec pour afficher les formulaires de modèle ! C’est quoi le rapport ?

    Du coup, dès qu’on clique dans le Porte Plume sur un bouton devant afficher un formulaire d’aide et bien ça redirige vers l’espace privé avec un gros Minipres : « Erreur de connexion Problème d’accès à l’espace privé » pour tous ceux (et c’est bien la cible de mes formulaires d’édition !) qui n’ont pas de compte SPIP (ou qui ont juste un compte Visiteur).

    Peux-tu utiliser un squelette classique lisible partout et par tous ?

    • Hello,

      à l’époque je m’étais inspiré sur la médiathèque pour l’appel javascript et je n’avais pas pensé à ça. On en apprends tous les jours. Aucun souci pour remplacer par un squelette classique accessible côté public (par exemple inclure/inserer_modeles.html). C’est en effet bp plus simple..

      Je suis actuellement en déplacement pour 3 semaines. Je ne garantie pas d’avoir le temps de m’en charger de suite. N’hésite pas à modifier le plugin si ton besoin est urgent. Sinon ,je regarderai ça à mon retour.

      Bien amicalement

    • J’essaye de tester ça dans la semaine.

    Répondre à ce message

  • 1

    Bonjour,

    Existe-t-il un mix entre « insérer Modèles » et « Gabarits » ?

    En effet, j’ai besoin d’avoir l’interface du plugin « Insérer Modèles » et avoir une incorporation dans le texte comme le plugin « Gabarits »… :-)
    Je renseigne souvent un texte sous la forme suivante :

    {{{[Mon titre->Mon lien]}}}
    <embXXX|center>

    Donc, je dois pouvoir rentrer « Mon titre », « mon lien », mon numéro de document et l’alignement de mon document.

    • C’est déjà possible !!! (le monde n’est-il pas merveilleux ?)

      Il faut juste personnaliser la fonction traiter qui produira le code à insérer (cf. Comment déclarer un modèle pour le plugin « Insérer Modèles »). Reprenons par le début.

      1. D’abord on créer dans le répertoire modeles un fichier YAML avec les paramètres que l’on souhaite. Il n’est pas obligatoire que le nom du fichier yaml corresponde à un squelette HTML.
      2. Deuxio, on va préciser au début du fichier YAML qu’il faudra une fonction de traitement personnalisée, en ajoutant traiter: 'ma_fonction' (exemple : http://zone.spip.org/trac/spip-zone....
      3. Tertio, on définira la fonction formulaires_ma_fonction_dist dans le fichier PHP formulaires/ma_fonction.php. Cette fonction prendra un unique argument $champs contenant la liste des champs du modèle et renverra le code d’insertion du modèle (exemple : http://zone.spip.org/trac/spip-zone...). Par exemple, dans ton cas, la fonction pourra contenir quelque chose comme :
        $titre = _request('titre');
        $lien = _request('lien');
        $align = _request('align');
        $numdoc = _request('numdoc');
        return "{{{[$titre->$lien]}}}\n<emb$numdoc|$align>";

      Normalement, le tour est joué !

    Répondre à ce message

  • 1

    Salut Joseph,

    Je viens d’avoir une superbe erreur dans le privé (plus de privé en fait...) suite à une erreur d’encodage yaml sur un bouton radio. A priori, pas d’erreur puis plus tard, vidange du cache via « admin_vider » et là, pouf :

    Fatal error: Uncaught exception 'InvalidArgumentException' with message 'Unable to parse string: Indentation problem at line 16 (saisie: 'radio')' in /var/www/htdocs/.../plugins/auto/yaml/inc/yaml_sfyaml.php:26 Stack trace: #0 /var/www/htdocs/.../plugins/auto/yaml/inc/yaml.php(56): yaml_sfyaml_decode('nom: 'cadre_let...') #1 /var/www/htdocs/.../plugins/auto/yaml/inc/yaml.php(70): yaml_decode('nom: 'cadre_let...') #2 /var/www/htdocs/.../plugins/auto/inserer_modeles/inc/inserer_modeles.php(21): yaml_decode_file('../2012/modeles...') #3 /var/www/htdocs/.../plugins/auto/inserer_modeles/inserer_modeles_pipelines.php(67): inserer_modeles_lister_formulaires_modeles() #4 [internal function]: inserer_modeles_porte_plume_lien_classe_vers_icone(Array) #5 /var/www/htdocs/.../ecrire/inc/utils.php(85): call_user_func('inserer_modeles...', Array) #6 /var/www/htdocs/.../tmp/cache/charger_pipelines.php(795): minipipe('inserer_modeles...', Arr in /var/www/htdocs/.../plugins/auto/yaml/inc/yaml_sfyaml.php on line 26

    et plus d’accès au privé.

    Bon je reconnais mes torts : je découvre yaml, mais c’est hard comme punition :-p

    • Je suis désolé mais ça on n’y peut rien si YAML n’est pas permissif sur l’indentation. L’erreur vient d’ailleurs de la librairie utilisé pour décoder le YAML, non du plugin Insérer Modèles.

      Amicalement

    Répondre à ce message

  • 1

    L’icône d’insertion de modèle n’apparaissait pas dans la barre typo

    Alors j’ai désactivé tous les plugins autres que ceux nécessaires au fonctionnement de inserer_modeles.
    Et là, l’icône d’insertion est apparue.

    Alors, j’ai ré-activé un par un les plugins pour trouver celui qui aurait pu générer une incompatibilité.
    Et je ne l’ai pas trouvé car l’icone est restée en place.

    Donc si vous avez des problèmes avec ce plugin, commencez par désactiver tous les plugins, puis ré-activer-les.

    MERCI pour ce plugin qui va me permettre d’améliorer le user experience de mes rédacteurs. J’ai beaucoup de modèles perso et moi-même je m’y perd souvent.

    • il y a une manière beaucoup plus simple de faire apparaitre le bouton :
      vider le cache de spip.

    Répondre à ce message

  • 1

    J’ai un modèle tout simple, sans paramètre.

    Comment faire dans le fichier YAML pour qu’un clic sur l’icône insère le modèle directement, sans afficher une fenêtre de paramétrage intermédiaire ?

    MERCI

    • Bonjour cela n’est pas possible via Insérer Modèles, ce plugin ayant pour fonction de fournir un formulaire de paramétrage.

      Si vous n’avez aucun paramètre, le plus simple est d’ajouter directement un bouton au porte-plume (voir pour cela la documentation dédiée du porte-plume).

      Bien cordialement

    Répondre à ce message

  • 7
    Serginio

    Bonjour.

    Super plugin. Bravo à l’auteur.

    Il fonctionne sur mon site parfaitement pour le modèle document. Mais je n’ai pas la possibilité d’insérer un modèle formulaire : pas d’icône formulaire dans la barre typographique sous l’icône « insérez un modèle ». Pourtant le plugin formulaire fonctionne aussi parfaitement.

    Je sais plus trop quoi faire. Si quelqu’un a la solution. Je suis sous spip 2.1.5 et j’ai bien installé tous les plugins pour ces deux modèles. Je n’ai pas besoin d’autre fonctions ou de l’insertion bibliographique donc je n’ai pas installer le plugin cite ni mediabox.

    Merci d’avance.

    • À quel plugin « formulaire » faites vous référence ?

      Pour apparaître dans Insérer modèles, un plugin qui fournit un modèle doit également fournir la description de ce modèle sous la forme d’un fichier YAML interprétable par Insérer modèles. Autrement dit, tous les plugins ne prévoient pas systématiquement une compatibilité avec Insérer Modèles. Or ce dernier ne peut deviner tout seul les paramètres du modèle en question.

      Cordialement

    • Serginio

      Oups. J’avais oublié de préciser que je parlais du plugin formulaire Formidable.

      Merci pour ton attention Joseph.

    • Ce dernier est compatible avec Insérer Modèles.

      As-tu vider le cache ? de SPIP et du Navigateur ?

      Cordialement

    • Serginio

      Oui. J’ai bien vider le cache de spip.

      Par contre l’installation-activation du plugin « Formidable » date de quelque mois. Finalement je l’avais désactivé. Quelque temps après j’ai découvert ce plugin « Insérer modèle » que j’ai installé puis activé. Et ce matin j’ai voulu re-testé les formulaires sous Formidable. Ca remarchait nickel mais impossible d’en insérer un en passant par l’cône « Insérer un modèle » dans la barre typo.

      Est ce que l’ordre d’installation du plugin « Formidable » par rapport à « Insérer un modèle » est important ?

      En tout cas grand merci Joseph pour ton attention.

    • Serginio

      Vidage du navigateur aussi réalisé.

    • Serginio

      Ah ca marche. J’ai mis à jour le plugin « Formidable ».

      Passage de la version 0.5.9.3 au 0.6.4

      Merci Joseph pour ton plugin et pour ton temps.

      Si je puis me permettre ça serait super si tu pouvais inclure l’insertion de vidéos (youtube dailymotion,...) avec ton plugin à la manière du plugin vidéos.

      Encore merci.

    • Je t’en prie.

      Pour le plugin vidéo accessible, une compatibilité avec les modèles media est envisagée. Mais je n’ai pas le temps de m’en occuper en ce moment (en plein déménagement). Et il reste la question de savoir si les modèles media doivent intégrer ou non le core.

    Répondre à ce message

  • 2
    Jea POULIQUEN

    Sur spip version 2.1.0 [15608]le formulaire ne s’afiche pas dans l’espace privé de rédaction.
    Les seuls plugins insallés sont :
    spip_bonux 2.2.15
    yaml 1.5
    API de verification 0.1.9
    saisies 1.9.8
    modeles 0.4.3

    Les installations se sont faites normalement.

    Que faire pour que cela fonctionne ?
    Merci de votre réponse.

    • Idem je confirme

    • Pour que le formulaire s’affiche, encore faut-il que des plugins fournissent des formulaires de configuration de modèles.

      Vous pouvez essayer les modèles media par exemple (prototype d’insertion alternative des documents) par exemple, ou les modèles cite, ou le formulaire de contact avancé. Ces différents plugins déclarent à insérer modèles les paramètres de leurs modèles respectifs. Sinon, vous pouvez également déclarer vos propres modèles.

    Répondre à ce message

  • 1

    Bonjour

    J’essaie d’installer le plugin verifier, mais impossible, ma version de spip 2.1.8 ne le prend pas. Et si je ne l’ai pas, impossible d’installer Insérer modèles...

    J’ai un message d’erreur dans l’admin (gestion des plugins) qui me dit :

    Impossible d’activer le plugin ../plugins/inserer_modeles
    Nécessite le plugin VERIFIER en version [0.1.1 ;] minimum.

    Comment faire ?

    • J’ai trouvé, c’est « API de vérification » qu’il faut cocher dans la gestion des plugins. Je cherchais plutôt quelque chose qui s’appelait « verifier », et de fait il n’y avait rien...

    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