@kiubi/mcp-designer 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +15 -0
- package/README.md +219 -0
- package/package.json +57 -0
- package/src/app.ts +39 -0
- package/src/index.ts +21 -0
- package/src/lib/stemmer.ts +38 -0
- package/src/lib/theme-checker/block-validator.ts +353 -0
- package/src/lib/theme-checker/checker.ts +897 -0
- package/src/lib/theme-checker/filter-validator.ts +163 -0
- package/src/lib/theme-checker/index.ts +6 -0
- package/src/lib/theme-checker/inspector.ts +193 -0
- package/src/lib/theme-checker/lang.ts +42 -0
- package/src/lib/theme-checker/parsers/component-xml.ts +120 -0
- package/src/lib/theme-checker/parsers/model-xml.ts +82 -0
- package/src/lib/theme-checker/parsers/post-type-xml.ts +92 -0
- package/src/lib/theme-checker/parsers/symbol-xml.ts +162 -0
- package/src/lib/theme-checker/parsers/theme-xml.ts +102 -0
- package/src/lib/theme-checker/types.ts +97 -0
- package/src/logger.ts +28 -0
- package/src/tool.ts +13 -0
- package/src/tools/create_type.ts +535 -0
- package/src/tools/detail_type.ts +208 -0
- package/src/tools/get_doc_section.ts +201 -0
- package/src/tools/list_types.ts +87 -0
- package/src/tools/list_widgets.ts +181 -0
- package/src/tools/ruleset.ts +25 -0
- package/src/tools/search_doc.ts +160 -0
- package/src/tools/validate_theme.ts +63 -0
- package/storage/definitions/blog.json +1444 -0
- package/storage/definitions/catalogue.json +2817 -0
- package/storage/definitions/cms.json +1002 -0
- package/storage/definitions/commandes.json +2409 -0
- package/storage/definitions/comptes.json +780 -0
- package/storage/definitions/modules.json +418 -0
- package/storage/definitions/recherche.json +804 -0
- package/storage/documents/CLAUDE.exemple.md +281 -0
- package/storage/documents/generated/exemples.md +8054 -0
- package/storage/documents/generated/integration/01_theme_perso.md +182 -0
- package/storage/documents/generated/integration/02_modeles.md +220 -0
- package/storage/documents/generated/integration/03_widgets.md +139 -0
- package/storage/documents/generated/integration/04_blocs.md +45 -0
- package/storage/documents/generated/integration/05_balises.md +43 -0
- package/storage/documents/generated/integration/06_balises_globales.md +201 -0
- package/storage/documents/generated/integration/07_balises_widget.md +257 -0
- package/storage/documents/generated/integration/08_types_billets.md +154 -0
- package/storage/documents/generated/integration/09_types_produits.md +77 -0
- package/storage/documents/generated/integration/10_types_composants.md +142 -0
- package/storage/documents/generated/integration/11_symboles.md +156 -0
- package/storage/documents/generated/integration/12_mediatheque.md +66 -0
- package/storage/documents/generated/integration/13_includes.md +25 -0
- package/storage/documents/generated/integration/14_404.md +32 -0
- package/storage/documents/generated/integration/15_arianne.md +62 -0
- package/storage/documents/generated/integration/16_fermeture.md +36 -0
- package/storage/documents/generated/integration/17_recherche.md +36 -0
- package/storage/documents/generated/integration/18_cms.md +582 -0
- package/storage/documents/generated/integration/19_modules.md +479 -0
- package/storage/documents/generated/integration/20_blog.md +946 -0
- package/storage/documents/generated/integration/21_catalogue.md +1834 -0
- package/storage/documents/generated/integration/22_commandes.md +2772 -0
- package/storage/documents/generated/integration/23_comptes.md +1195 -0
- package/storage/documents/generated/integration/24_recherche.md +542 -0
- package/storage/documents/hors_sujet_regles.md +43 -0
- package/storage/documents/kiubi_api.md +6690 -0
- package/storage/documents/kiubi_ruleset.md +419 -0
- package/storage/documents/kiubi_workflows.md +121 -0
|
@@ -0,0 +1,479 @@
|
|
|
1
|
+
# Modules
|
|
2
|
+
|
|
3
|
+
## Widget Modules / Formulaire de contact
|
|
4
|
+
|
|
5
|
+
**Afficher le formulaire de contact.**
|
|
6
|
+
Si l'utilisateur ne rempli pas correctement tous les champs, le formulaire se réaffichera avec un message d'erreur indiquant quels champs sont manquants ou incorrects. Le formulaire sera pré-rempli avec les informations précédemment saisies.
|
|
7
|
+
Si toutes les informations obligatoires ont été saisies, un email sera envoyé au destinataire et la page se rechargera et n'affichera plus le formulaire, mais seulement le message de confirmation.
|
|
8
|
+
|
|
9
|
+
Contrairement aux autres widgets, le Formulaire de contact est composé de 2 fichiers :
|
|
10
|
+
|
|
11
|
+
- index.html : correspond au formulaire de contact à proprement dit.
|
|
12
|
+
- mail.html: correspond à l'email (au format texte) envoyé.
|
|
13
|
+
|
|
14
|
+
### Template
|
|
15
|
+
|
|
16
|
+
Le template du widget : `theme/fr/widgets/communication/contact/index.html`. Exemple :
|
|
17
|
+
|
|
18
|
+
```html
|
|
19
|
+
<!-- BEGIN: main -->
|
|
20
|
+
|
|
21
|
+
<article id="contact_form">
|
|
22
|
+
<!-- BEGIN: intitule -->
|
|
23
|
+
|
|
24
|
+
<h1>{intitule_form}</h1>
|
|
25
|
+
|
|
26
|
+
<!-- END: intitule -->
|
|
27
|
+
<!-- BEGIN:contact -->
|
|
28
|
+
<form method="post" action="#contact_form" >
|
|
29
|
+
<!-- BEGIN:erreurs -->
|
|
30
|
+
<div>{erreurs}</div>
|
|
31
|
+
<!-- END:erreurs -->
|
|
32
|
+
<!-- BEGIN: champ -->
|
|
33
|
+
<p><label for="form_contact{id}">{intitule}
|
|
34
|
+
<!-- BEGIN:obligatoire -->*<!-- END:obligatoire --> :</label>
|
|
35
|
+
<!-- BEGIN: text -->
|
|
36
|
+
<input type="text" name="{name}" id="form_contact{id}" value="{valeur}" />
|
|
37
|
+
<!-- END: text -->
|
|
38
|
+
<!-- BEGIN: textarea -->
|
|
39
|
+
<textarea name="{name}" rows="10" id="form_contact{id}" >{valeur}</textarea>
|
|
40
|
+
<!-- END: textarea -->
|
|
41
|
+
<!-- BEGIN: civilite -->
|
|
42
|
+
<div>
|
|
43
|
+
<label for="form_contact_m{id}">
|
|
44
|
+
<input name="{name}" type="radio" id="form_contact_m{id}" value="M" {checked_m} />
|
|
45
|
+
M</label>
|
|
46
|
+
<label for="form_contact_mme{id}">
|
|
47
|
+
<input name="{name}" type="radio" id="form_contact_mme{id}" value="Mme" {checked_mme} />
|
|
48
|
+
Mme</label>
|
|
49
|
+
<label for="form_contact_mlle{id}">
|
|
50
|
+
<input name="{name}" type="radio" id="form_contact_mlle{id}" value="Mlle" {checked_mlle} />
|
|
51
|
+
Mlle</label>
|
|
52
|
+
</div>
|
|
53
|
+
<!-- END: civilite -->
|
|
54
|
+
</p>
|
|
55
|
+
<!-- END: champ -->
|
|
56
|
+
<p><input type="submit" name="Submit" value="Envoyer" /></p>
|
|
57
|
+
<p><strong>* champs obligatoires </strong></p>
|
|
58
|
+
<div>
|
|
59
|
+
<input type="hidden" name="act" value="send" />
|
|
60
|
+
<input type="hidden" name="ctl" value="{ctl}" />
|
|
61
|
+
</div>
|
|
62
|
+
</form>
|
|
63
|
+
<!-- END:contact -->
|
|
64
|
+
<!-- BEGIN:message -->
|
|
65
|
+
{message}
|
|
66
|
+
<!-- END:message -->
|
|
67
|
+
|
|
68
|
+
<!-- END: main -->
|
|
69
|
+
```
|
|
70
|
+
### Arborescence des blocs
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
└── main // Bloc racine tout le temps affiché.
|
|
74
|
+
├── intitule // Ne s'affiche que si l'intitulé du widget est rempli.
|
|
75
|
+
├── contact // Le bloc contient le formulaire de contact. Il s'affiche tant que le formulaire n'est pas validé.
|
|
76
|
+
│ └── erreurs // Le contenu du bloc s'affiche s'il y a des erreurs à la soumission du formulaire.
|
|
77
|
+
├── champ // Le contenu du bloc s'affiche pour chaque champ du formulaire de contact.
|
|
78
|
+
│ ├── obligatoire // Le contenu du bloc s'affiche si le champ est obligatoire.
|
|
79
|
+
│ ├── text // Le contenu du bloc s'affiche si le champ est de type "texte", "que des chiffres", "que des lettres", "email"
|
|
80
|
+
│ ├── textarea // Le contenu du bloc s'affiche si le champ est de type "texte multiligne"
|
|
81
|
+
│ └── civilite // Le contenu du bloc s'affiche si le champ est de type "civilite"
|
|
82
|
+
└── message // Le contenu du bloc s'affiche à la place du formulaire de contact (bloc "contact") si tous les éléments obligatoires ont bien été fournis et que la demande de contact a été envoyée.
|
|
83
|
+
```
|
|
84
|
+
### Balises
|
|
85
|
+
|
|
86
|
+
Bloc|Balise|Description
|
|
87
|
+
---|---|---
|
|
88
|
+
| main | serial | Identifiant unique du widget dans la page. Permet d'identifier de manière unique le widget dans la page. |
|
|
89
|
+
| main | widget_modele | Nom du modèle utilisé par le widget (vide pour le modèle de base). |
|
|
90
|
+
| intitule | intitule | Cet intitulé est paramétrable lors de l'édition d'un widget dans la gestion de l'Apparence de la Console d'administration de Kiubi. |
|
|
91
|
+
| erreurs | erreurs | Affiche toutes les erreurs en une fois. |
|
|
92
|
+
| champ | type | Type du champ. Les valeurs possibles sont : "text", "textarea", "chiffres", "lettres", "email" et "civilite". |
|
|
93
|
+
| champ | id | Id du champ. |
|
|
94
|
+
| champ | obligatoire | Affiche obligatoire si le champ est désigné comme tel. Sinon n'affiche rien. |
|
|
95
|
+
| champ | intitule | Intitulé du champ. |
|
|
96
|
+
| champ | compteur | La balise affichera un compteur commençant à 1 et qui sera incrémenté de 1 à chaque champ. |
|
|
97
|
+
| champ | valeur | Cette balise sert à réafficher la valeur précédemment saisie dans le formulaire en cas d'erreur. |
|
|
98
|
+
| champ | name | Nom du champ dans le formulaire (attribut name de la balise input) |
|
|
99
|
+
| civilite | checked_m | Affiche checked="checked" si la civilité "M" avait été choisie. Sinon n'affiche rien. |
|
|
100
|
+
| civilite | checked_mme | Affiche checked="checked" si la civilité "Mme" avait été choisie. Sinon n'affiche rien. |
|
|
101
|
+
| civilite | checked_mlle | Affiche checked="checked" si la civilité "Mlle" avait été choisie. Sinon n'affiche rien. |
|
|
102
|
+
| message | message | Message de confirmation d'envoi de la demande de contact. Ce message est personnalisable dans "Mon site / Communication / Formulaire de contact". |
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
## Widget Modules / Formulaire de contact : E-mail de confirmation
|
|
106
|
+
|
|
107
|
+
**Template du mail envoyé par le formulaire de contact**
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
### Template
|
|
111
|
+
|
|
112
|
+
Le template du widget : `theme/fr/widgets/communication/contact/mail.html`. Exemple :
|
|
113
|
+
|
|
114
|
+
```html
|
|
115
|
+
<!-- BEGIN: main -->
|
|
116
|
+
<!-- BEGIN: champ -->
|
|
117
|
+
{intitule} : {valeur}
|
|
118
|
+
<!-- END: champ -->
|
|
119
|
+
<!-- BEGIN: infos_sup -->
|
|
120
|
+
Informations supplementaires : {infos_connection}
|
|
121
|
+
<!-- END: infos_sup -->
|
|
122
|
+
<!-- END: main -->
|
|
123
|
+
```
|
|
124
|
+
### Arborescence des blocs
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
### Balises
|
|
130
|
+
|
|
131
|
+
Bloc|Balise|Description
|
|
132
|
+
---|---|---
|
|
133
|
+
| champ | intitule | Intitulé du champ. |
|
|
134
|
+
| champ | valeur | Affiche la valeur du champ saisi dans le formulaire de contact. |
|
|
135
|
+
| infos_sup | infos_connection | Affiche l'adresse IP et l'hôte de l'expéditeur de l'email. |
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
## Widget Modules / Newsletter
|
|
139
|
+
|
|
140
|
+
**Affiche le formulaire d'inscription/désinscription à la newsletter.**
|
|
141
|
+
Seul l'email peut être demandé. Si l'utilisateur ne remplit par correctement ce champ, le formulaire se réaffichera avec un message. Le formulaire sera aussi rempli avec les informations précédemment saisies.
|
|
142
|
+
Si toutes les informations obligatoires ont été saisies, la page se rechargera et n'affichera plus le formulaire, mais seulement un message de confirmation.
|
|
143
|
+
Note : **Kiubi ne permet pas d'envoyer des newsletters**. Seule l'inscription (ou la désinscription) est possible ainsi que l'export des abonnés au format .xls.
|
|
144
|
+
|
|
145
|
+
### Template
|
|
146
|
+
|
|
147
|
+
Le template du widget : `theme/fr/widgets/communication/newsletter/index.html`. Exemple :
|
|
148
|
+
|
|
149
|
+
```html
|
|
150
|
+
<!-- BEGIN:main -->
|
|
151
|
+
<div id="post_newsletter">
|
|
152
|
+
<!-- BEGIN:intitule -->
|
|
153
|
+
<h1>{intitule}</h1>
|
|
154
|
+
<!-- END:intitule -->
|
|
155
|
+
<div>
|
|
156
|
+
<!-- BEGIN:form -->
|
|
157
|
+
<!-- BEGIN:erreur -->
|
|
158
|
+
<div>{erreur}</div>
|
|
159
|
+
<!-- END:erreur -->
|
|
160
|
+
<form action="#post_newsletter" method="post">
|
|
161
|
+
<input type="text" name="email" value="{email}" id="emailnewsletter" placeholder="Votre email"/>
|
|
162
|
+
<p>
|
|
163
|
+
<input type="radio" name="opt" value="in" id="opt_in" {checked_in}/> <label for="opt_in">S'inscrire</label>
|
|
164
|
+
<input type="radio" name="opt" value="out" id="opt_out" {checked_out}/> <label for="opt_out">Se désinscrire</label>
|
|
165
|
+
</p>
|
|
166
|
+
<input type="submit" value="ok" />
|
|
167
|
+
<input type="hidden" name="act" value="send" />
|
|
168
|
+
<input type="hidden" name="ctl" value="{ctl}"/>
|
|
169
|
+
</form>
|
|
170
|
+
<!-- END:form -->
|
|
171
|
+
<!-- BEGIN:validation -->
|
|
172
|
+
{message}
|
|
173
|
+
<!-- END:validation -->
|
|
174
|
+
</div>
|
|
175
|
+
</div>
|
|
176
|
+
<!-- END:main -->
|
|
177
|
+
```
|
|
178
|
+
### Arborescence des blocs
|
|
179
|
+
|
|
180
|
+
```
|
|
181
|
+
└── main // Bloc racine tout le temps affiché.
|
|
182
|
+
├── intitule // Ne s'affiche que si l'intitulé du widget est rempli.
|
|
183
|
+
├── form // Le bloc contient le formulaire.
|
|
184
|
+
│ └── erreur // Le contenu du bloc s'affiche en cas d'erreur dans l'inscription ou la désinscription. L'email de la personne peut être invalide ou bien la personne cherche à s'inscrire alors qu'elle est déjà inscrite.
|
|
185
|
+
└── validation // Le contenu du bloc s'affiche à la place du formulaire (bloc "form") si le champ email a été rempli et que l'inscription ou la désinscription s'est bien passée.
|
|
186
|
+
```
|
|
187
|
+
### Balises
|
|
188
|
+
|
|
189
|
+
Bloc|Balise|Description
|
|
190
|
+
---|---|---
|
|
191
|
+
| main | serial | Identifiant unique du widget dans la page. Permet d'identifier de manière unique le widget dans la page. |
|
|
192
|
+
| main | widget_modele | Nom du modèle utilisé par le widget (vide pour le modèle de base). |
|
|
193
|
+
| intitule | intitule | Cet intitulé est paramétrable lors de l'édition d'un widget dans la gestion de l'Apparence de la Console d'administration de Kiubi. |
|
|
194
|
+
| form | ctl | Cette balise est présente dans certains widgets qui utilisent un formulaire. Elle y a alors une utilité technique, sans elle le formulaire ne fonctionnera pas. |
|
|
195
|
+
| form | email | Cette balise sert à réafficher la valeur précédemment saisie dans le formulaire en cas d'erreur. |
|
|
196
|
+
| form | checked_in | Affiche checked="checked" si l'utilisateur voulait s'inscrire. Sinon n'affiche rien. |
|
|
197
|
+
| form | checked_out | Affiche checked="checked" si l'utilisateur voulait se désinscrire. Sinon n'affiche rien. |
|
|
198
|
+
| erreur | erreur | Message d'erreur. Ce message est personnalisable dans "Mon site / Communication / Abonnés à la Newsletter" (voir champs "Si déjà inscrit", "Si pas encore inscrit"). |
|
|
199
|
+
| validation | message | Message de confirmation. Ce message est personnalisable dans "Mon site / Communication / Abonnés à la Newsletter" (voir champs "Si inscription validée", "Si désinscription validée"). |
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
## Widget Modules / Syndication
|
|
203
|
+
|
|
204
|
+
**Affiche les liens vers les derniers billets du Blog sous forme de flux (RSS ou ATOM) et les intègre dans la page pour être reconnus automatiquement par les navigateurs.**
|
|
205
|
+
Par défaut, seuls les liens du flux de la catégorie courante du Blog sont affichés.
|
|
206
|
+
|
|
207
|
+
### Template
|
|
208
|
+
|
|
209
|
+
Le template du widget : `theme/fr/widgets/communication/syndication_blog/index.html`. Exemple :
|
|
210
|
+
|
|
211
|
+
```html
|
|
212
|
+
<!-- BEGIN:main -->
|
|
213
|
+
|
|
214
|
+
<!-- BEGIN: intitule -->
|
|
215
|
+
<h1>{intitule}</h1>
|
|
216
|
+
<!-- END: intitule -->
|
|
217
|
+
<ul>
|
|
218
|
+
<!-- BEGIN:flux -->
|
|
219
|
+
<li><a href="{lien_flux}" title="{intitule_flux|htmlentities}">{intitule_flux}</a></li>
|
|
220
|
+
<!-- END:flux -->
|
|
221
|
+
</ul>
|
|
222
|
+
<!-- BEGIN:noflux -->
|
|
223
|
+
Pas de flux disponible
|
|
224
|
+
<!-- END:noflux -->
|
|
225
|
+
|
|
226
|
+
<!-- END:main -->
|
|
227
|
+
```
|
|
228
|
+
### Arborescence des blocs
|
|
229
|
+
|
|
230
|
+
```
|
|
231
|
+
└── main // Bloc racine tout le temps affiché.
|
|
232
|
+
├── intitule // Ne s'affiche que si l'intitulé du widget est rempli.
|
|
233
|
+
├── flux // Le contenu du bloc s'affiche pour chaque flux.
|
|
234
|
+
└── noflux // Le contenu du bloc s'affiche s'il n'y a aucun flux.
|
|
235
|
+
```
|
|
236
|
+
### Balises
|
|
237
|
+
|
|
238
|
+
Bloc|Balise|Description
|
|
239
|
+
---|---|---
|
|
240
|
+
| main | serial | Identifiant unique du widget dans la page. Permet d'identifier de manière unique le widget dans la page. |
|
|
241
|
+
| main | widget_modele | Nom du modèle utilisé par le widget (vide pour le modèle de base). |
|
|
242
|
+
| main | widget_format | Affiche les format de flux séléctionnés séparés par un virgule (rss2.0 ou atom) |
|
|
243
|
+
| intitule | intitule | Cet intitulé est paramétrable lors de l'édition d'un widget dans la gestion de l'Apparence de la Console d'administration de Kiubi. |
|
|
244
|
+
| flux | lien_flux | URL vers le flux de syndication. |
|
|
245
|
+
| flux | intitule_flux | Intitulé du flux qui reprends le format du flux ("ATOM" ou "RSS 2.0"). |
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
## Widget Modules / Dismoi?
|
|
249
|
+
|
|
250
|
+
**Afficher un formulaire dismoi. Dismoi? est le module de gestion de formulaires avancés.**
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
### Template
|
|
254
|
+
|
|
255
|
+
Le template du widget : `theme/fr/widgets/communication/formulaires/index.html`. Exemple :
|
|
256
|
+
|
|
257
|
+
```html
|
|
258
|
+
<!-- BEGIN: main -->
|
|
259
|
+
|
|
260
|
+
<!-- BEGIN: intitule -->
|
|
261
|
+
<h1>{intitule_form}</h1>
|
|
262
|
+
<!-- END: intitule -->
|
|
263
|
+
|
|
264
|
+
<!-- BEGIN:form -->
|
|
265
|
+
<form method="post" action="#multi_form" enctype="multipart/form-data">
|
|
266
|
+
<!-- BEGIN:erreurs -->
|
|
267
|
+
<div>{erreurs}</div>
|
|
268
|
+
<!-- END:erreurs -->
|
|
269
|
+
|
|
270
|
+
<!-- BEGIN:fieldset -->
|
|
271
|
+
<!-- BEGIN:debut_fieldset -->
|
|
272
|
+
<fieldset>
|
|
273
|
+
<legend>{legend}</legend>
|
|
274
|
+
<div>
|
|
275
|
+
<!-- END:debut_fieldset -->
|
|
276
|
+
<!-- BEGIN: champ -->
|
|
277
|
+
<span class="{erreur}">
|
|
278
|
+
<label for="multi_form{id}">{intitule}
|
|
279
|
+
<!-- BEGIN:obligatoire -->*<!-- END:obligatoire --> :</label>
|
|
280
|
+
<!-- BEGIN: text -->
|
|
281
|
+
<input type="text" name="{name}" id="multi_form{id}" value="{valeur}" />
|
|
282
|
+
<!-- END: text -->
|
|
283
|
+
<!-- BEGIN: textarea -->
|
|
284
|
+
<textarea name="{name}" rows="10" id="multi_form{id}" >{valeur}</textarea>
|
|
285
|
+
<!-- END: textarea -->
|
|
286
|
+
<!-- BEGIN: civilite -->
|
|
287
|
+
<div>
|
|
288
|
+
<label for="multi_form_m{id}">
|
|
289
|
+
<input name="{name}" type="radio" id="multi_form_m{id}" value="M" {checked_m} />
|
|
290
|
+
M</label>
|
|
291
|
+
<label for="multi_form_mme{id}">
|
|
292
|
+
<input name="{name}" type="radio" id="multi_form_mme{id}" value="Mme" {checked_mme} />
|
|
293
|
+
Mme</label>
|
|
294
|
+
<label for="multi_form_mlle{id}">
|
|
295
|
+
<input name="{name}" type="radio" id="multi_form_mlle{id}" value="Mlle" {checked_mlle} />
|
|
296
|
+
Mlle</label>
|
|
297
|
+
</div>
|
|
298
|
+
<!-- END: civilite -->
|
|
299
|
+
<!-- BEGIN: select -->
|
|
300
|
+
<select name="{name}" id="multi_form{id}">
|
|
301
|
+
<!-- BEGIN:option-->
|
|
302
|
+
<option value="{value}" {selected}>{label}</option>
|
|
303
|
+
<!-- END:option-->
|
|
304
|
+
</select>
|
|
305
|
+
<!-- END: select -->
|
|
306
|
+
<!-- BEGIN: checkbox -->
|
|
307
|
+
<!-- BEGIN:option-->
|
|
308
|
+
<input name="{name}" id="multi_form{id}_{value}" type="checkbox" value="{value}" {checked} />
|
|
309
|
+
<label for="multi_form{id}_{value}">{label}</label>
|
|
310
|
+
<!-- END:option-->
|
|
311
|
+
<!-- END: checkbox -->
|
|
312
|
+
<!-- BEGIN: upload -->
|
|
313
|
+
<input type="file" name="{name}" id="multi_form{id}" />
|
|
314
|
+
<!-- END: upload -->
|
|
315
|
+
<!-- BEGIN: aide -->
|
|
316
|
+
<p>{aide}</p>
|
|
317
|
+
<!-- END: aide -->
|
|
318
|
+
</span>
|
|
319
|
+
<!-- END: champ -->
|
|
320
|
+
<!-- BEGIN:fin_fieldset -->
|
|
321
|
+
</div>
|
|
322
|
+
</fieldset>
|
|
323
|
+
<!-- END:fin_fieldset -->
|
|
324
|
+
<!-- END:fieldset -->
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
<!-- BEGIN:consentement -->
|
|
329
|
+
<p class="{erreur}">
|
|
330
|
+
<label for="consentement_ok">
|
|
331
|
+
<input name="consentement_ok" id="consentement_ok" type="checkbox" value="1" {check_consentement}/>
|
|
332
|
+
J'accepte l'utilisation de mes données personnelles
|
|
333
|
+
</label>
|
|
334
|
+
</p>
|
|
335
|
+
<p>{finalites}</p>
|
|
336
|
+
<!-- END:consentement -->
|
|
337
|
+
|
|
338
|
+
<!-- BEGIN:captcha -->
|
|
339
|
+
<fieldset>
|
|
340
|
+
<legend>Anti-spam :</legend>
|
|
341
|
+
<p class="{erreur}">
|
|
342
|
+
<label for="captcha[{captcha_id}]">{captcha_question}</label>
|
|
343
|
+
<input name="captcha[{captcha_id}]" id="captcha[{captcha_id}]" type="text" />
|
|
344
|
+
</p>
|
|
345
|
+
</fieldset>
|
|
346
|
+
<!-- END: captcha -->
|
|
347
|
+
<p><input type="submit" name="Submit" value="Envoyer" /></p>
|
|
348
|
+
<p><strong>* champs obligatoires</strong></p>
|
|
349
|
+
<div>
|
|
350
|
+
<!-- BEGIN: hidden -->
|
|
351
|
+
<input type="hidden" name="{name}" value="{valeur}" />
|
|
352
|
+
<!-- END: hidden -->
|
|
353
|
+
<input type="hidden" name="j" value="{jeton}" />
|
|
354
|
+
<input type="hidden" name="form_id" value="{form_id}" />
|
|
355
|
+
<input type="hidden" name="act" value="send" />
|
|
356
|
+
<input type="hidden" name="ctl" value="{ctl}" />
|
|
357
|
+
</div>
|
|
358
|
+
</form>
|
|
359
|
+
<!-- END:form -->
|
|
360
|
+
<!-- BEGIN:message -->
|
|
361
|
+
{message}
|
|
362
|
+
<!-- END:message -->
|
|
363
|
+
|
|
364
|
+
<!-- END: main -->
|
|
365
|
+
```
|
|
366
|
+
### Arborescence des blocs
|
|
367
|
+
|
|
368
|
+
```
|
|
369
|
+
└── main // Bloc racine tout le temps affiché
|
|
370
|
+
├── intitule // Ne s'affiche que si l'intitulé du widget est rempli.
|
|
371
|
+
├── message // Ce bloc s'affiche après la soumission du formulaire, si un message est renseigné
|
|
372
|
+
└── form // Ce bloc s'affiche si le formulaire n'a pas été soumis
|
|
373
|
+
├── fieldset // Ce bloc s'affiche pour chaque fieldset
|
|
374
|
+
│ ├── debut_fieldset // Ce bloc s'affiche à chaque début de fieldset.
|
|
375
|
+
│ ├── champ // Ce bloc s'affiche pour chaque champ du formulaire
|
|
376
|
+
│ │ ├── aide // Le contenu du bloc s'affiche si une aide textuelle pour le champ existe
|
|
377
|
+
│ │ ├── checkbox // Le contenu du bloc s'affiche si le champ est de type "checkbox"
|
|
378
|
+
│ │ │ └── option // Ce bloc s'affiche pour chaque valeur possible
|
|
379
|
+
│ │ ├── radio // Le contenu du bloc s'affiche si le champ est de type "radio"
|
|
380
|
+
│ │ │ └── option // Ce bloc s'affiche pour chaque valeur possible
|
|
381
|
+
│ │ ├── civilite // Le contenu du bloc s'affiche si le champ est de type "civilite"
|
|
382
|
+
│ │ ├── text // Le contenu du bloc s'affiche si le champ est de type "text", "chiffres", "lettres" ou "email"
|
|
383
|
+
│ │ ├── textarea // Le contenu du bloc s'affiche si le champ est de type "textarea"
|
|
384
|
+
│ │ ├── date // Le contenu du bloc s'affiche si le champ est de type "date"
|
|
385
|
+
│ │ ├── datetime // Le contenu du bloc s'affiche si le champ est de type "date et heure"
|
|
386
|
+
│ │ ├── upload // Le contenu du bloc s'affiche si le champ est de type "upload"
|
|
387
|
+
│ │ ├── select // Le contenu du bloc s'affiche si le champ est de type "select"
|
|
388
|
+
│ │ │ └── option // Ce bloc s'affiche pour chaque valeur possible
|
|
389
|
+
│ │ └── obligatoire // Ce bloc s'affiche si le champ est obligatoire
|
|
390
|
+
│ └── fin_fieldset // Ce bloc s'affiche à chaque fin de fieldset.
|
|
391
|
+
├── hidden // Le contenu du bloc s'affiche pour chaque de type "caché".
|
|
392
|
+
├── erreurs // Ce bloc s'affiche si le formulaire contient des erreurs
|
|
393
|
+
├── captcha // Ce bloc s'affiche si le formulaire est protégé par un captcha
|
|
394
|
+
└── consentement // Ce bloc s'affiche si le recueilement du consentement est activé.
|
|
395
|
+
```
|
|
396
|
+
### Balises
|
|
397
|
+
|
|
398
|
+
Bloc|Balise|Description
|
|
399
|
+
---|---|---
|
|
400
|
+
| main | form_id | Identifiant unique du formulaire |
|
|
401
|
+
| main | serial | Identifiant unique du widget dans la page. Permet d'identifier de manière unique le widget dans la page. |
|
|
402
|
+
| main | ctl | Cette balise est présente dans certains widgets qui utilisent un formulaire. Elle y a alors une utilité technique, sans elle le formulaire ne fonctionnera pas. |
|
|
403
|
+
| main | jeton | Cette balise est présente dans certains widgets qui utilisent un formulaire. Elle y a alors une utilité technique, sans elle le formulaire ne fonctionnera pas. |
|
|
404
|
+
| main | action | Cette balise est présente dans certains widgets qui utilisent un formulaire. Elle y a alors une utilité technique, sans elle le formulaire ne fonctionnera pas. |
|
|
405
|
+
| main | widget_modele | Nom du modèle utilisé par le widget (vide pour le modèle de base). |
|
|
406
|
+
| main | widget_form_api | Identifiant API Front-office du formulaire |
|
|
407
|
+
| intitule | intitule_form | Cet intitulé est paramétrable lors de l'édition d'un widget dans la gestion de l'Apparence de la Console d'administration de Kiubi. |
|
|
408
|
+
| message | message | Message de remerciement |
|
|
409
|
+
| message | alias_* | Affiche la valeur d'un champ en fonction de son alias. Le nom de la balise est construit à partir de l'alias qui est tranformé en minuscule et dont tous les caractères spécaux ont été filtrés (cf filtre sanitize) |
|
|
410
|
+
| debut_fieldset | legend | Intitulé du fieldset |
|
|
411
|
+
| champ | compteur | La balise affichera un compteur commençant à 1 et qui sera incrémenté de 1 à chaque champ. |
|
|
412
|
+
| champ | name | Nom du champ dans le formulaire (attribut name de la balise input) |
|
|
413
|
+
| champ | id | Id du champ. |
|
|
414
|
+
| champ | intitule | Intitulé du champ. |
|
|
415
|
+
| champ | type | Type du champ. Les valeurs possibles sont : "text", "textarea", "chiffres", "lettres", "email", "checkbox", "select", "civilite", "date", "datetime", "radio", "departements", "regions", "pays", "hidden". |
|
|
416
|
+
| champ | alias | Alias du champ. |
|
|
417
|
+
| champ | obligatoire | Affiche obligatoire si le champ est désigné comme tel. Sinon n'affiche rien. |
|
|
418
|
+
| champ | erreur | La balise affichera 'erreur' si le champ est en erreur lors de la validation |
|
|
419
|
+
| aide | aide | Aide textuelle du champ |
|
|
420
|
+
| option | checked | Cette balise sert à reselectionner la valeur précédemment choisie dans le formulaire en cas d'erreur. |
|
|
421
|
+
| option | value | Valeur du champ checkbox |
|
|
422
|
+
| option | label | Label de la valeur |
|
|
423
|
+
| option | checked | Cette balise sert à reselectionner la valeur précédemment choisie dans le formulaire en cas d'erreur. |
|
|
424
|
+
| option | value | Valeur du champ radio |
|
|
425
|
+
| option | label | Label de la valeur |
|
|
426
|
+
| civilite | checked_m | Affiche checked="checked" si la civilité "M" avait été choisie. Sinon n'affiche rien. |
|
|
427
|
+
| civilite | checked_mme | Affiche checked="checked" si la civilité "Mme" avait été choisie. Sinon n'affiche rien. |
|
|
428
|
+
| civilite | checked_mlle | Affiche checked="checked" si la civilité "Mlle" avait été choisie. Sinon n'affiche rien. |
|
|
429
|
+
| text | valeur | Valeur du champ texte |
|
|
430
|
+
| textarea | valeur | Valeur du champ textearea |
|
|
431
|
+
| date | valeur | Valeur du champ date |
|
|
432
|
+
| datetime | valeur | Valeur du champ datetime |
|
|
433
|
+
| option | checked | Cette balise sert à reselectionner la valeur précédemment choisie dans le formulaire en cas d'erreur. |
|
|
434
|
+
| option | selected | Cette balise sert à reselectionner la valeur précédemment choisie dans le formulaire en cas d'erreur. |
|
|
435
|
+
| option | value | Cette balise sert à réafficher la valeur précédemment saisie dans le formulaire en cas d'erreur. |
|
|
436
|
+
| option | label | Label de la valeur |
|
|
437
|
+
| hidden | name | Nom du champ dans le formulaire (attribut name de la balise input) |
|
|
438
|
+
| hidden | valeur | Valeur du champ caché |
|
|
439
|
+
| erreurs | erreurs | Erreur(s) rencontrée(s) |
|
|
440
|
+
| captcha | captcha_question | Question du captcha |
|
|
441
|
+
| captcha | captcha_id | Jeton du captcha |
|
|
442
|
+
| captcha | erreur | La balise affichera 'erreur' si le champ est en erreur lors de la validation |
|
|
443
|
+
| consentement | finalites | Affiche les traitements et finalité de la collecte des données personnelles. |
|
|
444
|
+
| consentement | check_consentement | Renvoi checked="checked" pour accepter le recueil des données. |
|
|
445
|
+
| consentement | erreur | La balise affichera 'erreur' si le champ est en erreur lors de la validation |
|
|
446
|
+
|
|
447
|
+
|
|
448
|
+
## Widget Modules / Dismoi? : E-mail de confirmation
|
|
449
|
+
|
|
450
|
+
**Template du mail envoyé par le formulaire dismoi.**
|
|
451
|
+
|
|
452
|
+
|
|
453
|
+
### Template
|
|
454
|
+
|
|
455
|
+
Le template du widget : `theme/fr/widgets/communication/formulaires/mail.html`. Exemple :
|
|
456
|
+
|
|
457
|
+
```html
|
|
458
|
+
<!-- BEGIN: main -->
|
|
459
|
+
<!-- BEGIN: champ -->
|
|
460
|
+
{intitule} : {valeur}
|
|
461
|
+
<!-- END: champ -->
|
|
462
|
+
<!-- BEGIN: infos_sup -->
|
|
463
|
+
Informations supplementaires : {infos_connection}
|
|
464
|
+
<!-- END: infos_sup -->
|
|
465
|
+
<!-- END: main -->
|
|
466
|
+
```
|
|
467
|
+
### Arborescence des blocs
|
|
468
|
+
|
|
469
|
+
```
|
|
470
|
+
|
|
471
|
+
```
|
|
472
|
+
### Balises
|
|
473
|
+
|
|
474
|
+
Bloc|Balise|Description
|
|
475
|
+
---|---|---
|
|
476
|
+
| champ | intitule | Intitulé du champ. |
|
|
477
|
+
| champ | valeur | Affiche la valeur du champ saisi dans le formulaire de dismoi. |
|
|
478
|
+
| infos_sup | infos_connection | Affiche l'adresse IP et l'hôte de l'expéditeur de l'email. |
|
|
479
|
+
|