Customs

Edit me

Customs

Introduction

Les customs sont des éléments qui permettent d’insérer du XML dans les ressources générées par l’interpréteur (en l’occurence le XML de formulaire et le XML de varset).

Il y a deux types de customs:

  1. Custom contenant du XML à insérer à un endroit précis d’un autre XML (formulaire ou varset)
  2. Custom pour modifier un attribut d’un XML

Pour le premier type de custom, le nom est décomposé en deux parties, la première indique où le noeud sera inséré, et la seconde le nom du noeud à créer.
Ainsi le custom form.dataquery.main.column va insérer une balise column dans le dataquery principal du XML de formulaire.

Exemples:

Nom du custom: varset.var

	<var uid="2" id="date_evt" type="date" default_label="Date de l'événement"/>

Nom du custom: form.dataquery.main.column_simple

	<column_simple field_name="date_evt" table_name="bbd"/>

Le second type de custom sert à définir ou modifier un attribut.

Exemples:

Nom du custom: form.dataquery.main[begin]
Valeur: 20

Nom du custom: form.layout[hide_title]
Valeur: true

Nomenclature pour chaque custom décrit dans la documentation ci-jointe:

  • Fonction: rôle du custom
  • Elément Epicraft: élément Epicraft où déclarer le custom
  • Unique: custom unique ?
  • Ressource: ressource voozanoo concernée

Attention Certains éléments doivent respecter un certain ordre dans le dataquery. C’est le cas pour “join”, “group_by” et “order_by”.

Liste des customs

form.config

Fonction: déclaration du noeud config du XML de formulaire.
Elément Epicraft: page
Unique: oui
Ressource: formulaire

Exemple:

<config>
    <save_path>foo/bar/save</save_path>
</config>

form.dataquery.main.condition

Fonction: ajout d’un noeud condition dans le dataquery principal du XML de formulaire.
Elément Epicraft: page
Unique: non
Ressource: formulaire

Aide La valeur de l’attribut table_alias est utilisée dans la balise <field>, elle est générée avec une valeur aléatoire. Pour la récupérer il faut éditer le XML sur Voozanoo.

form.dataquery.main.joins

Fonction: ajout d’un noeud joins contenant des sous noeuds join dans le dataquery principal du XML de formulaire.
Elément Epicraft: page
Unique: non
Ressource: formulaire

form.dataquery.main.column_simple

Fonction: ajout d’un noeud column simple dans le dataquery principal du XML de formulaire.
Elément Epicraft: page
Unique: non
Ressource: formulaire

form.dataquery.main.column

Fonction: ajout d’un noeud column dans le dataquery principal du XML de formulaire.
Elément Epicraft: page
Unique: non
Ressource: formulaire

form.dataquery.main.groups

Fonction: ajout d’un noeud groups contenant des sous noeuds group dans le dataquery principal du XML de formulaire.
Elément Epicraft: page
Unique: non
Ressource: formulaire

form.dataquery.main.orders

Fonction: ajout d’un noeud orders contenant des sous noeuds order dans le dataquery principal du XML de formulaire.
Elément Epicraft: page
Unique: non
Ressource: formulaire

form.dataquery.main.variable

Fonction: ajout d’un noeud variable le dataquery principal du XML de formulaire.
Elément Epicraft: page
Unique: non
Ressource: formulaire

Aide Les noeuds <variable> sont obligatoirement contenus dans un noeud <variables>, l’interpréteur ajoute automatiquement ce noeud.

form.dataquery.main.variables

Fonction: ajout d’un noeud variables contenant des sous noeuds variable dans le dataquery principal du XML de formulaire.
Elément Epicraft: page
Unique: oui
Ressource: formulaire

Note Il est probable qu’il y ait un conflit si on utilise à la fois un custom form.dataquery.main.variable et form.dataquery.main.variables.

form.dataquery

Fonction: ajout d’un dataquery dans le XML de formulaire.
Elément Epicraft: page
Unique: non
Ressource: formulaire

form.dataset

Fonction: ajout d’un dataset dans le XML de formulaire.
Elément Epicraft: page
Unique: non
Ressource: formulaire

form.dataquery.main[id]

Fonction: modifie l’attribut id du dataquery principal du XML de formulaire
Elément Epicraft: page
Unique: oui
Ressource: formulaire
Valeur(s) possible(s): string

Attention La suppression de ce custom ne remet pas la valeur initiale de l’attribut id.

form.dataquery.main[auto_add_record]

Fonction: modifie l’attribut auto_add_record du dataquery principal du XML de formulaire
Elément Epicraft: page
Unique: oui
Ressource: formulaire
Valeur(s) possible(s): true|false

form.dataquery.main[begin]

Fonction: modifie l’attribut begin du dataquery principal du XML de formulaire
Elément Epicraft: page
Unique: oui
Ressource: formulaire
Valeur(s) possible(s): integer

form.dataquery.main[range]

Fonction: modifie l’attribut range du dataquery principal du XML de formulaire
Elément Epicraft: page
Unique: oui
Ressource: formulaire
Valeur(s) possible(s): integer

form.dataquery.main[disable_main_condition]

Fonction: Suppression de la condition qui est ajoutée par défaut dans le dataquery principal (condition sur la clé primaire).
Elément Epicraft: page
Unique: oui
Ressource: formulaire
Valeur(s) possible(s): true|false. A true, la condition est supprimée.

Attention Si le custom est supprimé alors qu’il vaut true, la condition n’est pas remise!

Exemple de condition:

<condition sql="{id_data}={param_id_data}">
    <field field_name="id_data" table_name="bef" alias="id_data"/>
    <variable alias="param_id_data" default="NULL">
        <entry type="param" name="id_data"/>
    </variable>
</condition>

form.layout[hide_title]

Fonction: modifie l’attribut hide_title du layout du XML de formulaire
Elément Epicraft: page
Unique: oui
Ressource: formulaire
Valeur(s) possible(s): true|false (par défaut à false)

form.widget.option

Fonction: ajoute une option sur le widget principal
Elément Epicraft: composant
Unique: non
Ressource: formulaire

Exemple:

<option output="html" option_name="show_on" value="{foo}='bar'"/>

Note Le widget principal correspond au noeud root généré par l’interpréteur pour le composant.
Pour un champ, le code XML ci-dessous sera généré, l’option sera donc insérée sous le noeud <form_row>

	<form_row editor_id="hlhftzfidi1489583616098">
		 <label dataset="evenement" field="date_evt" class="col-xs-3 text-right"/>
		 <value dataset="evenement" field="date_evt" mode="rw" class="col-xs-9 text-left"/>
	</form_row>

form.widget.subnode.option

Fonction: ajoute une option sur un noeud précis
Elément Epicraft: composant
Unique: non
Ressource: formulaire

Note Prenons par exemple le custom form.widget.value.option avec l’option <option output="html" option_name="widget" value="WidgetDateAdvanced"/>, ce qui donne le XML ci-dessous.

	<form_row editor_id="hlhftzfidi1489583616098">
	 	<label dataset="evenement" field="date_evt" class="col-xs-3 text-right"/>
	 	<value dataset="evenement" field="date_evt" mode="rw" class="col-xs-9 text-left">
			<option output="html" option_name="widget" value="WidgetDateAdvanced" editor_id="dbgkyoyhac1489760604319"/>
		</value>
	</form_row>

form.widget

Fonction: utilisable uniquement sur un composant de type bulk, définit le composant
Elément Epicraft: composant bulk
Unique: oui
Ressource: formulaire

Exemple:

	<statictext>Hello world</statictext>

form[name]

Fonction: définit l’attribut name du noeud form
Elément Epicraft: page
Unique: oui
Ressource: formulaire

varset.var

Fonction: ajoute une variable dans le varset lié à la page
Elément Epicraft: page
Unique: non
Ressource: varset

Exemple:

	<var uid="99" id="user_fkey" type="fkey_varset" default_label="Clé étrangère vers le varset user" >
		<fkey_varset varset_name="user"/>
	</var>