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 ;
-  d’activer ou non la répartition des modèles en catégories ; ce sont les modèles qui déclarent la catégorie utilisé, mais il existe un mécanisme de pipeline pour modifier ;
-  de désactiver certains modèles [1].

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”.

Footnotes

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

Discussion

38 discussions

  • 1

    encore moi ... je voudrais que dans un modele l’on ne puisse saisir que des medias de type image.
    j’ai essayé

    saisie: 'selecteur_document'
        options:
          nom: 'image'
          label: 'Image affichèe à gauche'
          defaut: ''
          env: 'oui'
          media: 'image'
        verifier:
          type: 'id_document'
         

    dans ce cas la saisie se positionne bien sur le choix du media choisis ( image dans ce cas ) mais on peut saisir un autre type de media en cliquant sur le type en haut donc on peut choisir un fichier ou une video au lieu d’une image.
    j’ai essayé de rajouter une verification ...mais cela ne fonctionne pas non plus

    verifier:
          type: 'id_document'
         media: 'image' 

    est-ce normal ?
    merci

    • > encore moi ... je voudrais que dans un modele l’on ne puisse saisir que des medias de type image.
      j’ai essayé

      faudrait améliorer sans doute la saisie selecteur_document, un ticket à ouvrir dans le plugin saisies (mais c’est clairement en bas de mes priorités...)

      > j’ai essayé de rajouter une verification ...mais cela ne fonctionne pas non plus
      c’est normal que ca marche pas puiseque cette vérification n’est pas prévue

    Reply to this message

  • 4

    avec spip 4.3 et inserer_modele v2.2
    je n’ai plus l’affichage des modeles sur la droite même si je configure pour que cela apparaisse pour les articles.

    • Bonjour,

      je ne reproduis pas.

      Il faudrait vérifier ce qui se passe en désactivant les autres plugin et en supprimant les .yaml personnalisé, pour voir si ce n’est pas une erreur PHP déclenchée par un yaml mal formaté.

    • Avec SPIP 4.2.11 la partie droite apparaît et fonctionne bien par contre insérer barre pour un textarea dans un modele empêche l insertion automatique de la saisie du formulaire dans le texte si on passe par la barre typo. Je regarde si cela vient de la.

    • il y avait deux fichiers yaml de même nom pour un modele ??? .yml et. .yaml
      j’ai supprime le yml et le pavé droit est apparut.
      par contre j’ai toujours le pb avec le modele suivant. L’insertion automatique depuis la barre typo n’insere rien. si j’enleve inserer_barre: ’edition’ cela fonctionne. pas de pb avec le pavé de droite;

      nom: 'message avec apostrophe'
      logo: 'creux.png'
      icone_barre: 'creux.png'
      parametres:
        -
         saisie: 'hidden'
         options:
           nom: 'modele'
           defaut: 'bigmessage'  
        -
          saisie: 'textarea'
          options:
            nom: 'letexte'
            label: "Texte"
            rows : 6
            inserer_barre: 'edition'
            defaut: '' 
      
        -   
          saisie: 'selecteur_document'
          options:
            nom: 'image'
            label: 'Image affichèe à gauche'
            defaut: ''
            env: 'oui'
          verifier:
            type: 'id_document'      
        
        -
          saisie: 'couleur'
          options:
            nom: 'apostrophe'
            label: 'couleur apostrophe'
            defaut: '#999999'
            obligatoire: 'oui'
            explication: 'couleur '
            type: 'color' 
        -
          saisie: 'couleur'
          options:
            nom: 'couleurfond'
            label: 'couleur de fond'
            defaut: '#ffffff'
            explication: 'couleur '
            type: 'color'  	  
      
    • C’est à cause de l’imbrication des barres typo : cela va chercher la barre de la modalbox, puis le textarea associé, et cela insère dedans plutot que sous la barre de la fenetre principal.

      Je vais regarder si on peut debuger cela grâce à la barre_typo en l’état.

      Sinon je désactiverai la barre typo dans les modèles lorsqu’on appelé via modalbox.

    Reply to this message

  • 2

    Dans spip 4.3, le bloc insérer un modèle dans la colonne de droite ne s’affiche pas si l’article en cours d’édition est le seul dans la rubrique. Cela ne fonctionne que quand le bloc de la colonne droite “Dans la même rubrique” a été affiché avant de passer en édition de l’article.

    A noter également, l’affichage de l’insertion des modèle peut être forcé en faisant un refresh en étant sur le formulaire d’édition de l’article.

    En espérant que cela aide au débug.

    Reply to this message

  • Peux tu me confirmer que mettre une barre edition dans un textarea n’empeche pas l’enregistrement du modele dans le texte si on appelle le modele depuis la barre edition

    sinon pourrait on désactiver l’appel a certains modèles depuis la barre edition uniquement ?
    merci

    Reply to this message

  • bonjour
    j’ai constaté que dans certains cas le résultat de la saisie d’un modèle ( par la barre porte plume)ne s’insère pas. La saisie est perdue. Par contre on peut récupérer l’insertion si on est passé par la droite de l’article.
    cas 1 : - le nom d’un textarea est “texte”... on peut le resoudre en mettant comme nom “letexte”
    cas2 : - je demande une barre edition.. je n’ai pas trouvé de parade

    «saisie: ’textarea’
    options:
    nom: ’letexte’
    label: ’texte’
    inserer_barre: ’edition’
    rows: ’3’
    defaut: ’’»

    Reply to this message

  • 3

    bonjour,
    y a t-il un moyen de ne pas insérer l’appel aux modèles dans la barre porte plume dans certains cas. ?
    merci

    • Il y a bien un pipeline, mais il n’est pas argumenté, donc difficile de discrimer. Quels serait du reste le besoin ?

    • Laisse tomber si cela n existe pas.J ai des modèles avec js ou PHP qui ne fonctionne pas correctement si ie les appelle depuis un textarea d un formulaire..il vaut mieux que je règle ce pb.
      Merci pour ta reponse

    • pour info, j’avais donné le nom “texte” a un textarea dans le fichier yaml et ... c ’est cela qui posait problème. En particulier cela empêchait l’insertion automatique du modèle avec porte plume.
      j’ai changé de nom...plus de pb.

    Reply to this message

  • 1

    avec spip 4 et V1.4.4 j’ai dans la barre porte plume
    modifier, voir et deux fleches. les flèches permettent en principe d’avoir cote a cote la page de saisie et la page résultat.
    Si je clique dessus j’obtiens la page mais avec en haut a droite un bas d’un bloc ( inserer modèle je pense) avec un bouton choisir seulement.
    La page est bloquée. impossible de la fermer,
    par contre si dans la barre porte plume je clique sur un modele cette partie fonctionne. je peux saisir un modele et cela s’affiche a droite.
    avez vous le même pb de blocage ?
    merci

    • mea culpa
      c’est un #extraz-index:100 rajouée avec une version spip beta qui générait le problème

    Reply to this message

  • 3

    bonjour,

    2 questions
    1 - on voit bien ou est utilisé : icone_barre ( affichage bloc et affichage porte plume)
    mais ou utilise t-on le logo ?

    logo: 'images/titre.png'
    icone_barre: 'titre.png'

    2- Si on a des modèles utilisant des plugins par exemple picto et que l’on veut le mettre dans un plugin regroupant des modèles.
    est -il possible de tester si le le plugin existe avant de l’afficher ? ou est-on obligé de mettre dans paquet : <necessite nom="picto" compatibilite="[3.37.1;[" />

    ceci dit ce plugin est super

    • 1. De facto, nul part
      2. Mouais, ce serait pas plutot au plugin de picto de fournir le modèle dans ce cas là ?
      Si c’est pas le cas, on pourrait imaginer de mettre un afficher_si au premier niveau du .yaml, mais j’aimerais que tu ouvre un ticket à ce sujet, pour avoir les avis des autres.

      Pour ouvrir un ticker, écrit à spip-dev et demande un accès à git.spip.net (après avoir lu et accepté la charte).

    • comment ? ou? on écrit à spip-dev

    Reply to this message

  • 6

    une autre question ... quand on fait un fichier yaml pour insérer un modèle y a t-il un moyen de tester si une valeur saisie est correcte ? peux t-on insérer une valeur issue de spip ( #ENV) ?

    • 1. Pour les tests de validité, oui c’est possible, c’est le paramètre “verifier” dans la déclaration d’une saisie.

      Par ex :

         
       verifier:
            type: 'entier'
            options:
              min: 1
      

      voir la doc du plugin “verifier” pour l’ensemble des vérifs possibles.

      Pas sur de comprendre ta question sur env.

    • merci beaucoup pour tes réponses ...

      pour le #ENV ... c’est simplement récupérer une valeur de la page par exemple la couleur du thème pour partir de cette couleur pour un choix de couleur, ou mettre au depart l’id de l’article dans un choix d’id , une variable globale ...etc BREF des infos spip

    • bonjour,
      j’ai ce formulaire

      nom: 'parametrer pdf'
      logo: 'pdf.png'
      icone_barre: 'pdf.png'
      parametres:
        -
         saisie: 'hidden'
         options:
           nom: 'modele'
           defaut: 'doc'
        -
          saisie: 'selecteur_document'
          options:
            nom: 'id_document'
            label: 'choisir un document'
            obligatoire: 'oui'
            defaut: '' 
          verifier:
              type: 'id_document'
        -
          saisie: 'input'
          options:
            nom: 'hauteur'
            label: "hauteur en pixel( sans px)"
            cacher_option_intro: 'oui'
            obligatoire: 'non'
          verifier:
            type: 'entier'
            options :
              min : 200
        -
          saisie: 'input'
          options:
            nom: 'largeur'
            label: "largeur en %( sans %)"     
            cacher_option_intro: 'oui'
            obligatoire: 'non'
          verifier:
            type: 'entier'
            options :
              min : 30
              max : 100
        -      
          saisie: 'selection'
          options:
            nom: 'align'
            label: "alignement"
            cacher_option_intro: 'oui'
            defaut: 'defaut'     
            datas:
              'right' : 'droite'
              'center' : 'centrer'
              'left' : 'gauche'   
       

      si j’accède au fomulaire par la colonne de droite ... aucun pb de saisie

      si j’y accède par la barre la saisie de id_document, ( choisir) ferme le formulaire et rien ne se passe

    • 1. Pour ta question sur un accès par la barre de saisie, c’est que SPIP ne gère visiblement pas les modalbox dans les modalbox. Il y a peut être moyen de résoudre cela, mais c’est des compétences js que je n’ai pas à porter de main, et je n’ai pas franchement le temps ni l’envie d’y passer des heures à chercher. Cela étant je vais ouvrir un ticket, peut être que des gens plus compétents que moi pourrons résoudre cela.

      2. Sur ta question de ENV
      a. Ton besoin est légitime, mais plutot mineure
      b. Y répondre est plus complexe :
      i, Quant à la source

      - déjà les infos spip ne sont pas nécessairement des info env. Par exemple la couleur du fond est une info SPIP, mais pas env
      - en plus, pour la couleur, ce qui est stocké c’est un numéro de couleur, pas un code couleur au sens HTML/CSS
      - du coup pour ton affaire de code couleur, le mieux serait que tu créé ta propre saisie, laquelle se contenterait d’un #INCLURE vers la saisie input, en passant le bon paramètre par défaut, c’est à dire la couleur associé a la personne connecée (à rechercher dans les fonction de SPIP, mais en gros faut regarder du côte de prive/formulaires/configurer_preferences)

      ii. Cela étant, on peut imaginer de récuperer certains choses, soit depuis :

      - la config du site (différente de la config de la personne connecté)
      - depuis les paramètres passés en GET à la page d’édition (id_article, par ex.). Mais c’est différent de la notion de #ENV, qui est trop large et contextuelle pour pouvoir bien s’appliquer.
      - du coup sur le depot git, j’ai créé une branche dev_baloo, qui permet de faire cela.
      - je t’invite à la tester, en la téléchargeant ici https://git.spip.net/spip-contrib-extensions/inserer_modeles/archive/dev_baloo.zip
      - la doc sur comment s’en servir https://git.spip.net/spip-contrib-extensions/inserer_modeles/commit/73c8ee18bdd893ba266cbb2549109c310a3f7184
      - et pour tes retours, merci de les faire plutot dans la PR dédiée, cela sera plus simple pour le suivi des discussions https://git.spip.net/spip-contrib-extensions/inserer_modeles/pulls/3

    Reply to this message

  • 6

    bonjour,
    pour alléger l’écran, serait il possible, lorsqu’on a le porte plume, de pouvoir choisir ne pas avoir la saisie dans la colonne de droite mais uniquement dans la barre du porte plume

    merci

    • Cela nécessiterait de mettre à jour le formulaire de configuration. Malheureusement, pour ma part, je n’ai plus vraiment le temps de gérer le service après don de ce plugin. Maïeul, si tu veux t’en occuper, je te laisse la main avec joie.

      PS : dis moi si tu veux que je te rajoute comme auteur de l’article sur Contrib pour faciliter la mise à jour de la documentation

    • En fait la question que je me posais, c’est s’il fallait une config general ou par auteur.

      Dans le premier cas c’est facile à ajouter (enfin, je vais rééecrire le formulaire de config pour le mettre en full saisie, mais c’est facile). Dans le second cas ca demande un peu plus de boulot.

    • une config général serait super

    • Bon, en fait cela existe deja. Il faut se rendre sur la page de config, et décocher toutes les pages. On garde ainsi le formulaire uniquement dans le porte plume.

      Cela étant ton questionnement m’a permis de réviser un peu le code du plugin pour le rendre plus propre, et donc potentiellement plus étendable dans le futur.

    • oui cela fonctionne bien ... il faudrait mettre quelque chose de plus explicite au lieu de “Veuillez sélectionner un ou plusieurs objets sur lesquels vous désirez que le bloc d’insertion des modèles apparaissent.” ou dans la doc

    • bah heu, c’est assez explicite non. Si on coche la case, le bloc d’inseration apparait, sinon pas :P

      par contree oui faudrait documenter... plus tard

    Reply to this message

Add a comment

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.

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom