Section courante

A propos

Section administrative du site

generator.yml

Le fichier «generator.yml» est utilisé dans les versions de Symfony 1.0, 1.1, 1.2, 1.3 et 1.4 afin d'offrir un modèle de gestion administrative des classes et des modèles. Le fichier utilise le même standard que «.yml» et permet autant la gestion d'une liste, que l'édition de formulaire. Le fichier est donc construit sous forme d'un arbre de données mais il est beaucoup plus facile à lire qu'un fichier «.XML».

L'entête du fichier

Le fichier «generator.yml» comme toujours par les 3 lignes suivantes et avec un nom de classe spécifique comme ceci :

generator:
  class: nomdeclasse
  param:

Syntaxe

generator:
  class:           <sfDoctrineGenerator | sfPropelGenerator>
  param:
    model_class:           nom_classe_modele
    theme:                 nom_theme
    non_verbose_templates: <true | false>
    with_show:             <true | false>
    singular:              ~
    plural:                ~
    with_doctrine_route:   <true | false>
    route_prefix:          nom_prefixe_route
    actions_base_class:    nom_classe
    css:                   <nomfichier_css | false>
    config:
      actions:
        action_name:
          label:           etiquette_action
          action:          nom_action
          credentials:     autorisation_action
          params:
            html_attribute:  valeur
            absolute:        <true | false>
            query_string:    valeur_requete_chaine
            anchor:          valeur_ancre
            confirm:         message_confirmation
            popup:           <true | false>
            post:            <true | false>
            method:          >POST | DELETE | PUT>
      fields:
        field_name:
          label:              etiquette_champ
          help:               texte_aide
          attributes:         { attribue1valeur1attribue2valeur2, ... }
          credentials:        autorisation_champ
          renderer:           nom_rendu
          renderer_arguments: [argument1argument2, ...]
          type:               type_of_column
          date_format:        chaine_format
          is_link:            <true | false>
          is_real:            <true | false>
          is_partial:         <true | false>
          is_component:       <true | false>
      list:
        title:              vue_titre
        display:            [=nomchamp1nomchamp2, ...]
        hide:               [nomchamp1nomchamp2, ...]
        layout:             <tabular | stacked>
        params:             chaine_params
        sort:               [nomchamp, <asc | desc>]
        max_per_page:       <items_par_page | false>
        pager_class:        nom_classe
        fields:             liste_champs
        batch_actions:      liste_action
        object_actions:     liste_action
        actions:            liste_action
        table_method:       nom_methode
        peer_method:        nom_methode
        table_count_method: nom_methode
        peer_count_method:  nom_methode
      filter:
        display:         [nomchamp1nomchamp2, ...]
        class:           <nom_classe | false>
        fields:          liste_champs
      form:
        display:         [nomchamp1nomchamp2, ...]
        class:           nom_classe
        fields:          liste_champs
        actions:         liste_action
      edit:
        display:         [nomchamp1nomchamp2, ...]
        title:           titre_vue
        fields:          liste_champs
        actions:         liste_action
      new:
        display:         [nomchamp1nomchamp2, ...]
        title:           titre_vue
        fields:          liste_champs
        actions:         liste_action

Liste des options

Au niveau «generator:/param:», on retrouvera les options suivantes :

Options Description
actions Cet option de configuration permet d'indiquer les actions globales pour le module. Elle peut avoir les options suivantes :
Option Description
name Cet option permet d'indiquer le nom à utiliser pour l'action.
action Cet option permet d'indiquer l'action à exécuter (sans le préfixe «execute») dans le contrôleur avec les méthodes commençant par «execute».
credentials Cet option permet d'indiquer les rôles d'utilisateur ayant le droit d'accéder à cette action.
fields Cet option de configuration permet d'indiquer la configuration par défaut de chaque champs.
Option Description
label Cet option permet d'indiquer l'étiquette d'affichage à utiliser pour les champs.
help Cet option permet d'indiquer un texte d'aide associé au champ.
attributes Cet option permet d'indiquer les attributs HTML (comme le nom de la classe CSS par exemple) à passer au widget.
credentials Cet option permet d'indiquer les rôles d'utilisateur ayant le droit de voir ce champ.
renderer Cet option permet d'indiquer l'appel en arrière-plan pour le rendu de ce champ.
renderer_arguments Cet option permet d'indiquer les paramètres d'appel en arrière-plan pour le rendu de ce champ.
type Cet option permet d'indiquer le type de champ :
Valeur Description
ForeignKey Cette valeur permet d'indiquer une clef étrangère.
Boolean Cette valeur permet d'indiquer un booléen.
Date Cette valeur permet d'indiquer une date.
Time Cette valeur permet d'indiquer l'heure.
Text Cette valeur permet d'indiquer du texte.
Enum Cette valeur permet d'indiquer une énumération. Vous devez utiliser «Doctrine» pour pouvoir utiliser ce type de champ.
date_format Cet option permet d'indiquer le format de date du champ. On peut utiliser les caractères suivants et les combinés :
Valeur Description
G Ce caractère permet d'indiquer l'Era.
y Ce caractère permet d'indiquer l'année.
M Ce caractère permet d'indiquer les 3 premières lettres du jour de semaine en anglais.
d Ce caractère permet d'indiquer le jour du mois.
h Ce caractère permet d'indiquer l'heure en format 12 heures.
H Ce caractère permet d'indiquer l'heure en format 24 heures.
m Ce caractère permet d'indiquer les minutes.
s Ce caractère permet d'indiquer les secondes.
E Ce caractère permet d'indiquer le jour de semaine.
D Ce caractère permet d'indiquer le jour de l'année.
F Ce caractère permet d'indiquer le nombre de jours dans le mois.
w Ce caractère permet d'indiquer le nombre de semaines dans l'année.
W Ce caractère permet d'indiquer le nombre de semaines dans le mois.
a Ce caractère permet d'indiquer si c'est l'avant-midi (AM) ou l'après-midi (PM).
k Ce caractère permet d'indiquer le nombre d'heures dans la journée.
K Ce caractère permet d'indiquer le nombre d'heures dans une journée avec une avant-midi et une après-midi.
z Ce caractère permet d'indiquer le fuseau horaire.
list Cet option de configuration permet d'indiquer une liste de données.
Option Description
title Cet option permet d'indiquer le titre de la liste de données.
display Cet option permet d'indiquer la liste des champs de la liste de données à afficher.
hide Cet option permet de cacher les champs spécifiés dans la liste.
layout Cet option permet de fixer la mise en page pour effectuer l'affichage de la liste.
params Cet option permet de fixer une chaîne de caractères HMTL à utiliser comme modèle pour la mise en page.
sort Cet option permet de fixer le champ trié par défaut.
max_per_page Cet option permet de fixer le nombre maximum d'objets affiché dans une page Web.
pager_class Cet option permet de fixer la classe CSS utilisé pour la pagination de la liste.
batch_actions Cet option permet de fixer la liste des actions autorisées a s'exécuter par la sélection d'objet de la liste.
object_actions Cet option permet de fixer la liste des actions s'exécuter sur chacun des objets de la liste.
actions Cet option permet de fixer les actions à utiliser pour un nouvel objet.
peer_method Cet option permet de fixer la méthode de récupérations d'objet dans la liste.
table_method Cet option permet de fixer la méthode de récupérations d'objet dans la liste.
table_count_method Cet option permet de fixer le nom de la méthode pour le compteur d'objets du filtre en cours.
filter Cet option permet d'indiquer les configuration de filtre à appliquer aux listes
Option Description
display Cet option permet d'indiquer le nom des champs à utiliser.
class Cet option permet d'indiquer le nom de la classe.
form Cet option permet d'indiquer le formulaire (pour l'ajout ou la modification)
Option Description
display Cet option permet d'indiquer le nom des champs à utiliser.
class Cet option permet d'indiquer le nom de la classe.
edit Cet option permet d'indiquer un modèle d'édition (Modification)
Option Description
title Cet option permet de fixer la chaine de caractères du titre de modèle d'édition de la liste.
display Cet option permet de fixer la liste des champs du modèle d'édition, dans l'ordre de leur définition plus loin dans le schéma.
fields Cet option permet de définir les champs du modèle d'édition.
actions Cet option permet d'indiquer la liste des boutons pouvant être utiliser dans le modèle d'édition.
new Cet option permet d'indiquer un nouveau modèle d'édition (Ajout)
Option Description
title Cet option permet de fixer la chaîne de caractères du titre de modèle d'édition d'ajout de la liste.
actions Cet option permet d'indiquer la liste des boutons pouvant être utiliser dans le modèle d'édition d'ajout.

Remarque

Exemple

L'exemple suivant permet d'ajouter un bouton «duplicate» avec une méthode «post» dans l'édition :

generator:
  class:              sfPropelAdminGenerator
  param:
    model_class:      Article
    theme:            default
    
    edit:
      title:          Edition de l'article - <span>%%title%%</span>
      actions:
        _delete: ~
        _list: ~
        duplicate:    { action: duplicate, params: method=post }
        _save: ~
        _save_and_add: ~

Voir également

Extension de fichier - «.YML» ou «.YAML»

Dernière mise à jour : Lundi, le 27 mars 2017