Comment déclarer un modèle pour le plugin « Insérer Modèles »

On décrit le formulaire permettant de saisir les arguments d’un modèle monmodele à l’aide d’un fichier YAML à placer dans le répertoire modeles/.

Dans les cas simples, ce fichier YAML aura le même nom que le modele HTML, mais ce ne sera pas nécessairement le cas puisque différentes configurations d’un même fichier HTML peuvent être décrites par différents fichiers YAML.

Ce fichier YAML a la syntaxe suivante :

nom: 'nom du formulaire'
logo: 'chemin relatif d une icône'
icone_barre: 'nom d une icone 16x16 pour le porte-plume et présente dans le répertoire icones_barre'
parametres: un tableau de saisies

Parmi les paramètres, celui de nom modele est obligatoire et doit obligatoirement être renseigné (éventuellement sous forme d’un hidden).

Quatre noms de paramètres, id_modele, variante, classe et align, sont facultatifs et d’un usage spécifique. En effet, le formulaire produira le code suivant : <modeleid_modele|variante|classe|align|param1=valeur1|param2=valeur2>.

Un exemple simple, pour l’insertion d’un formulaire formidable :

nom: '<:formidable:modele_nom_formulaire:>'
logo: 'images/formulaire-24.png'
icone_barre: 'formulaire.png'
parametres:
  -
    saisie: 'hidden'
    options:
      nom: 'modele'
      defaut: 'formulaire'
  -
    saisie: 'hidden'
    options:
      nom: 'variante'
      defaut: 'formidable'
  -
    saisie: 'formulaire_formidable'
    options:
      nom: 'id'
      label: '<:formidable:modele_label_formulaire_formidable:>'
      cacher_option_intro: 'oui'

Personnaliser les traitements

Dans certains cas de modèles complexes (voir par exemple les modèles media), il peut être pertinent de personnaliser les traitements. Auquel cas, au début du fichier YAML de description du modèle, on précisera le nom d’une fonction à utiliser pour le traitement sous la forme traiter: 'ma_fonction'.

Ensuite, 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. Voir les sources des modèles media pour un exemple.

Porte-plume

Le porte plume ne s’actualise pas rapidement. Si votre bouton n’apparait pas, pensez à vider le répertoire /local/

Dernière modification de cette page le 24 juillet 2019

Discussion

Une discussion

  • Bonjour,
    quelque chose doit m’échapper... je n’arrive pas à déclarer le formulaire.
    J’ai écrit un fichier « monmodele.yaml » l’ai placé dans le répertoire « squelettes/modeles/ », vidé le répertoire « /local/ » et certains sous-répertoires de « tmp/ »
    Le modèle n’apparaît pas...
    Que faut-il faire de plus ?
    Merci
    Cordialement

    Répondre à ce message

Ajouter un commentaire

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