@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,201 @@
|
|
|
1
|
+
## Balises globales
|
|
2
|
+
|
|
3
|
+
Les balises globales sont disponibles et utilisables partout dans Kiubi (modèles
|
|
4
|
+
graphiques, éditeurs de texte visuels, champs d'information, ...).
|
|
5
|
+
|
|
6
|
+
#### Balises de base
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|Balise|Description|
|
|
11
|
+
|---|---|
|
|
12
|
+
| `{racine}` | Indique le chemin relatif vers la racine du site où que l'on soit situé dans l'arborescence. |
|
|
13
|
+
| `{lg}` | Indique le code langue courant (toujours fr pour l'instant). Cette balise est également disponible dans les templates d'email |
|
|
14
|
+
| `{baseLangue}` | Indique le chemin relatif vers la racine du site dans la langue courante. |
|
|
15
|
+
| `{lien_pagecourante}` | URL de la page courante. |
|
|
16
|
+
| `{intitule_pagecourante}` | Intitulé de la page courante. |
|
|
17
|
+
| `{optim_pagecourante}` | Affiche le nom optimisé de la page courante. Affiche par exmple le nom optimisé du billet dans la page de détail de billet du blog, ou le nom optimisé de la catégorie dans la page de détail d'une catégorie du catalogue.<br /> |
|
|
18
|
+
| `{contexte_pagecourante}` | Affiche le contexte de la page courante sous forme d'une liste qui reprends le service, le type et les informations permettant d'identifer l'objet principal de la page. Plus de détails dans la section "Contexte" ci-dessous. |
|
|
19
|
+
| `{lien_pageparente}` | URL de la page parente (niveau hiérarchique supérieur dans l'arborescence). |
|
|
20
|
+
| `{intitule_pageparente}` | Indique l'intitulé de la page parente. |
|
|
21
|
+
| `{accroche_site}` | Affiche l'accroche du site figurant dans "Mon site / Apparence / Bloc-marque". Cette balise est également disponible dans les templates d'email |
|
|
22
|
+
| `{desc_site}` | Affiche la description du site figurant dans "Mon site / Apparence / Bloc-marque". Cette balise est également disponible dans les templates d'email |
|
|
23
|
+
| `{logo_site}` | Affiche l'identifiant du logo du site figurant dans "Mon site / Apparence / Bloc-marque". Cette balise est également disponible dans les templates d'email |
|
|
24
|
+
| `{url_logo_site}` | Affiche l'url du logo du site figurant dans "Mon site / Apparence / Bloc-marque". Cette balise est également disponible dans les templates d'email |
|
|
25
|
+
| `{domaine}` | Affiche le nom du domaine courant du site. |
|
|
26
|
+
| `{schema}` | Affiche le schéma du site (http ou https). |
|
|
27
|
+
| `{site_nom}` | Affiche le nom du site figurant dans "Mon compte / Préférences". Cette balise est également disponible dans les templates d'email |
|
|
28
|
+
| `{g_vignette_l}` | Largeur en pixels des grandes vignettes de la médiathèque. |
|
|
29
|
+
| `{vignette_l}` | Largeur en pixels des vignettes de la médiathèque. |
|
|
30
|
+
| `{g_vignette_h}` | Hauteur en pixels des grandes vignettes de la médiathèque. |
|
|
31
|
+
| `{vignette_h}` | Hauteur en pixels des vignettes de la médiathèque. |
|
|
32
|
+
| `{g_miniature_l}` | Largeur en pixels des grandes miniatures de la médiathèque. |
|
|
33
|
+
| `{miniature_l}` | Largeur en pixels des miniatures de la médiathèque. |
|
|
34
|
+
| `{g_miniature_h}` | Hauteur en pixels des grandes miniatures de la médiathèque. |
|
|
35
|
+
| `{miniature_h}` | Hauteur en pixels des miniatures de la médiathèque. |
|
|
36
|
+
| `{balise}` | Affiche le code d'un balise sans qu'elle ne soit interpretée. Exemple : `{balise|site_nom}` affiche "{site_nom}". |
|
|
37
|
+
| `{cdn}` | URL du CDN des ressources statiques de la Plateforme.<br /> |
|
|
38
|
+
| `{referer}` | Affiche le referer du navigateur, remplacée par REQUEST.referer |
|
|
39
|
+
| `{devise}` | Affiche le devise du site. Cette balise est également disponible dans les templates d'email |
|
|
40
|
+
| `{devise_iso}` | Affiche le code iso (3 lettres) de la devise du site. Cette balise est également disponible dans les templates d'email |
|
|
41
|
+
| `{theme}` | Affiche le code du thème graphique du site. Le code pour les thèmes graphiques personnalisés est "theme". Cette balise est également disponible dans les templates d'email |
|
|
42
|
+
| `{canonical}` | Affiche le chemin canonique de la page en cours |
|
|
43
|
+
| `{liste_domaines}` | Liste de tout les noms de domaines du site. |
|
|
44
|
+
| `{FILE "fichier.html"}` | Cette balise est très spéciale car elle permet d'inclure un modèle graphique dans le modèle graphique courant. Il suffit pour cela d'indiquer le chemin du modèle graphique que vous voulez inclure. Ce fichier doit se trouver dans le thème courant. <br /><br />Cette balise est souvent utilisée pour inclure à différents endroits des bouts de page qui reviennent de manière récurrente. Par exemple, dans les thèmes Kiubi, le copyright en bas de page est inclus dans toutes les pages grâce à la balise : `{FILE "/fr/includes/copyright.html"}`<br /><br />Cette balise est également disponible dans les templates d'email<br />Attention : cette balise *n'est pas disponible* dans les contenus WYSIWYG. |
|
|
45
|
+
| `{illustration_pagecourante}` | Affiche le chemin vers l'illustration de le page courante. N'affiche rien si aucune illustration n'est disponible. |
|
|
46
|
+
| `{illustration_pagecourante_miniature}` | Affiche le chemin vers la miniature de l'illustration de le page courante. N'affiche rien si aucune illustration n'est disponible. |
|
|
47
|
+
| `{illustration_pagecourante_vignette}` | Affiche le chemin vers la vignette de l'illustration de le page courante. N'affiche rien si aucune illustration n'est disponible. |
|
|
48
|
+
| `{illustration_pagecourante_g_vignette}` | Affiche le chemin vers la grande vignette de l'illustration de le page courante. N'affiche rien si aucune illustration n'est disponible. |
|
|
49
|
+
| `{illustration_pagecourante_g_miniature}` | Affiche le chemin vers la grande miniature de l'illustration de le page courante. N'affiche rien si aucune illustration n'est disponible. |
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
#### Détail de la balise contexte_pagecourante
|
|
53
|
+
|
|
54
|
+
La balise contexte_pagecourante affiche des valeurs spécifique à la page dans laquelle est utlisée. Son utlisation est particulièrement appréciable avec certains frameworks CSS et Javascript.
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|Balise|Description|
|
|
59
|
+
|---|---|
|
|
60
|
+
| `{/}` | cms cms-accueil |
|
|
61
|
+
| `{/[page].html}` | cms cms-page cms-page-[page] |
|
|
62
|
+
| `{/blog/}` | blog blog-accueil |
|
|
63
|
+
| `{/blog/[categorie]/}` | blog blog-categorie blog-categorie-[categorie] |
|
|
64
|
+
| `{/blog/[categorie]/[yyyy]/[mm]/[dd]/}` | blog blog-categorie blog-categorie-[categorie] blog-y-[yyyy] blog-m-[mm] blog-d-[dd] |
|
|
65
|
+
| `{/blog/[categorie]/[yyyy]/[mm]/[dd]/[billet].html}` | blog blog-billet blog-billet-[billet] blog-categorie-[categorie] blog-a-[yyyy] blog-m-[mm] blog-j-[dd] |
|
|
66
|
+
| `{/catalogue/}` | catalogue catalogue-accueil |
|
|
67
|
+
| `{/catalogue/[categorie]/}` | catalogue catalogue-categorie catalogue-categorie-[categorie] |
|
|
68
|
+
| `{/catalogue/[categorie]/[tags:]/}` | catalogue catalogue-categorie catalogue-categorie-[categorie] catalogue-tag catalogue-tag-[tag1] catalogue-tag-[tag-2].... |
|
|
69
|
+
| `{/catalogue/[categorie]/[produit].html}` | catalogue catalogue-produit catalogue-produit-[produit] catalogue-categorie-[categorie] |
|
|
70
|
+
| `{/compte/[page].html}` | compte compte-[page] |
|
|
71
|
+
| `{/contact/}` | contact |
|
|
72
|
+
| `{/ecommerce/[page].html}` | ecommerce ecommerce-[page] |
|
|
73
|
+
| `{/recherche/[service]/}` | recherche recherche-[service] |
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
#### Informations société
|
|
77
|
+
|
|
78
|
+
Les balises ci-dessous sont utilisables dans tous les templates, widgets, contenu wysiwyg et templates d'email.
|
|
79
|
+
|
|
80
|
+
|Balise|Description|
|
|
81
|
+
|---|---|
|
|
82
|
+
| `{SOCIETE.contact_nom}` | Affiche le nom du contact principal du site internet figurant dans "Mon compte / Préférences". |
|
|
83
|
+
| `{SOCIETE.contact_prenom}` | Affiche le prénom du contact principal du site internet figurant dans "Mon compte / Préférences". |
|
|
84
|
+
| `{SOCIETE.contact_email}` | Affiche l'e-mail du contact principal du site internet figurant dans "Mon compte / Préférences". |
|
|
85
|
+
| `{SOCIETE.societe_nom}` | Affiche le nom de la société responsable du site internet figurant dans "Mon compte / Préférences". |
|
|
86
|
+
| `{SOCIETE.societe_adresse}` | Affiche l'adresse de la société responsable du site internet figurant dans "Mon compte / Préférences". |
|
|
87
|
+
| `{SOCIETE.societe_cp}` | Affiche le code postal de la société responsable du site internet figurant dans "Mon compte / Préférences". |
|
|
88
|
+
| `{SOCIETE.societe_ville}` | Affiche la ville de la société responsable du site internet figurant dans "Mon compte / Préférences". |
|
|
89
|
+
| `{SOCIETE.societe_pays}` | Affiche le pays de la société responsable du site internet figurant dans "Mon compte / Préférences". |
|
|
90
|
+
| `{SOCIETE.societe_tel}` | Affiche le numéro de téléphone de la société responsable du site internet figurant dans "Mon compte /Préférences". |
|
|
91
|
+
| `{SOCIETE.societe_mobile}` | Affiche le numéro de mobile de la société responsable du site internet figurant dans "Mon compte / Préférences". |
|
|
92
|
+
| `{SOCIETE.societe_fax}` | Affiche le numéro de fax de la société responsable du site internet figurant dans "Mon compte / Préférences". |
|
|
93
|
+
| `{SOCIETE.societe_cnil}` | Affiche le numéro de déclaration CNIL du site internet figurant dans "Mon compte / Préférences". |
|
|
94
|
+
| `{SOCIETE.societe_capital}` | Affiche le capital de la société responsable du site internet figurant dans "Mon compte / Préférences". |
|
|
95
|
+
| `{SOCIETE.societe_siret}` | Affiche le numéro siret de la société responsable du site internet figurant dans "Mon compte / Préférences". |
|
|
96
|
+
| `{SOCIETE.societe_rcs}` | Affiche le RCS de la société responsable du site internet figurant dans "Mon compte / Préférences". |
|
|
97
|
+
| `{SOCIETE.societe_ape}` | Affiche le code APE (ou NAF) de la société responsable du site internet figurant dans "Mon compte / Préférences". |
|
|
98
|
+
| `{SOCIETE.societe_tva}` | Affiche le numéro de TVA intracommunautaire de la société responsable du site internet figurant dans "Mon compte / Préférences". |
|
|
99
|
+
| `{SOCIETE.societe_forme}` | Affiche la forme juridique de la société responsable du site internet figurant dans "Mon compte / Préférences". |
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
#### Horodatage
|
|
103
|
+
|
|
104
|
+
Les balises ci-dessous sont utilisables dans tous les templates, widgets, contenu wysiwyg et templates d'email.
|
|
105
|
+
|
|
106
|
+
|Balise|Description|
|
|
107
|
+
|---|---|
|
|
108
|
+
| `{num_jour_maintenant}` | Affiche le numéro du jour courant (01 - 31). |
|
|
109
|
+
| `{jour_semaine_maintenant}` | Affiche le jour de la semaine courant (lundi - dimanche). |
|
|
110
|
+
| `{num_mois_maintenant}` | Affiche le numéro du mois courant (01 - 12). |
|
|
111
|
+
| `{mois_maintenant}` | Affiche le mois courant (janvier - décembre). |
|
|
112
|
+
| `{mois_abrev_maintenant}` | Affiche le mois courant abrégé (jan - déc). Il vaut mieux utiliser `{mois_abrev_maintenant}` que<br />`{mois_maintenant|left|3}` car la découpe se fait plus intelligemment pour les mois en quatre lettres. |
|
|
113
|
+
| `{annee_maintenant}` | Affiche l'année courante (2007). |
|
|
114
|
+
| `{heure_maintenant}` | Affiche l'heure courante (00-23). |
|
|
115
|
+
| `{minute_maintenant}` | Affiche les minutes courantes (00-59). |
|
|
116
|
+
| `{seconde_maintenant}` | Affiche les secondes courantes (00-59). |
|
|
117
|
+
| `{timestamp_maintenant}` | Affiche le timestamp courant |
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
#### Informations client
|
|
121
|
+
|
|
122
|
+
Les balises ci-dessous sont utilisables dans tous les templates / widgets et contenu wysiwyg
|
|
123
|
+
|
|
124
|
+
|Balise|Description|
|
|
125
|
+
|---|---|
|
|
126
|
+
| `{CLIENT.client_id}` | Affiche l'identifiant interne du client. Requiert que le client soit connecté |
|
|
127
|
+
| `{CLIENT.num}` | Affiche le numéro du client. Requiert que le client soit connecté |
|
|
128
|
+
| `{CLIENT.nom}` | Affiche le nom du client. Requiert que le client soit connecté |
|
|
129
|
+
| `{CLIENT.prenom}` | Affiche le prénom du client. Requiert que le client soit connecté |
|
|
130
|
+
| `{CLIENT.genre}` | Affiche le genre ("H" ou "F") du client. Requiert que le client soit connecté |
|
|
131
|
+
| `{CLIENT.email}` | Affiche l'email du client. Requiert que le client soit connecté |
|
|
132
|
+
| `{CLIENT.pseudo}` | Affiche le pseudo du client. Requiert que le client soit connecté |
|
|
133
|
+
| `{CLIENT.web}` | Affiche le site web du client. Requiert que le client soit connecté |
|
|
134
|
+
| `{CLIENT.avatar}` | Affiche l'URL de l'avatar du client |
|
|
135
|
+
| `{CLIENT.groupe_extranet}` | Affiche le groupe extranet du client |
|
|
136
|
+
| `{CLIENT.groupe_extranet_id}` | Affiche l'identifiant numérique du groupe extranet du client |
|
|
137
|
+
| `{CLIENT.page_extranet}` | Affiche la page du groupe extranet du client |
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
#### Balises POST/GET
|
|
141
|
+
|
|
142
|
+
Les balises ci-dessous sont utilisables dans tous les templates / widgets et contenu wysiwyg
|
|
143
|
+
|
|
144
|
+
|Balise|Description|
|
|
145
|
+
|---|---|
|
|
146
|
+
| `{GET.*}` | Affiche la valeur d'un paramètre GET de la page. Exemple : `{GET.id}` affiche la valeur du paramètre GET "id". |
|
|
147
|
+
| `{POST.*}` | Affiche la valeur d'un paramètre POST de la page. Exemple : `{POST.id}` affiche la valeur du paramètre POST "id". |
|
|
148
|
+
| `{REQUEST.page}` | Affiche le nom de page de l'url courante |
|
|
149
|
+
| `{REQUEST.repertoire}` | Affiche le chemin de l'url courante |
|
|
150
|
+
| `{REQUEST.url}` | Affiche l'url courante |
|
|
151
|
+
| `{REQUEST.domaine}` | Affiche le domaine courant |
|
|
152
|
+
| `{REQUEST.referer}` | Affiche le referer du navigateur |
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
#### API
|
|
156
|
+
|
|
157
|
+
Les balises ci-dessous fournissent des informations sur l'API Front-office
|
|
158
|
+
|
|
159
|
+
|Balise|Description|
|
|
160
|
+
|---|---|
|
|
161
|
+
| `{API.actif}` | Renvoie la chaine "true" si l'api du site est active. "false" dans le cas contraire. |
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
### Filtres de balises
|
|
167
|
+
|
|
168
|
+
Kiubi supporte un ensemble de filtres qui peuvent être appliqués aux balises.
|
|
169
|
+
Ces filtres ont pour but de changer la valeur de la balise pour mieux répondre à
|
|
170
|
+
un besoin précis.
|
|
171
|
+
|
|
172
|
+
On utilise ces filtres en ajoutant une barre verticale | dans la balise. Exemple : `{balise|filtre}`.
|
|
173
|
+
|
|
174
|
+
Certains filtres peuvent prendre des arguments, ils seront alors séparés par une
|
|
175
|
+
autre barre. Exemple : `{balise|filtre|argument}`.
|
|
176
|
+
|
|
177
|
+
|Filtre|Description|
|
|
178
|
+
|---|---|
|
|
179
|
+
| ucfirst | Met en majuscule la première lettre du texte |
|
|
180
|
+
| strtoupper | Met en majuscule tout le texte |
|
|
181
|
+
| strtolower | Met en minuscule tout le texte |
|
|
182
|
+
| rawurlencode | Encode une chaîne en URL selon la [RFC 3986](http://www.ietf.org/rfc/rfc3986.txt). Supporte un argument "utf8" pour encode le résultat en UTF-8. |
|
|
183
|
+
| htmlentities | Convertit tous les caractères éligibles en entités HTML. Supporte un argument "utf8" pour encode le résultat en UTF-8 |
|
|
184
|
+
| left|x | Tronque le texte à gauche à strictement X caractères. |
|
|
185
|
+
| stripText|x | Supprime les balises HTML puis tronque le texte à gauche sur X caractères au plus en conservant les mots entiers |
|
|
186
|
+
| mot|x | Affiche le Xème mot du texte |
|
|
187
|
+
| mapValue|x|y | Compare la valeur de la balise avec valeurs de références. Affiche X si la valeur est "1", "actif", "checked", "selected" ou "erreur". Affiche Y dans le cas contraire. Exemple si le contenu de la balise `{texte10}` est "actif", `{texte10|mapValue|active}` affiche "active". |
|
|
188
|
+
| sanitize | Passe en minuscule,enlève tous les accents d'une chaine de caractères et convertis les espaces en tirets. Les tirets consécutifs sont fusionnés et les tirets finaux sont supprimés. Seuls les lettres, les chiffres et le tiret sont préservés. Exemple si le contenu de la balise `{titre}` est "C'est fin, c'est très fin, ça se mange sans faim !", alors `{titre|sanitize}` affichera "c-est-fin-c-est-tres-fin-ca-se-mange-sans-faim". Ce filtre fonctionne sur des chaines de texte jusqu'à 120 caractères. |
|
|
189
|
+
| alternate|x | Associé par exemple à la balise `{compteur}`, affiche de façon cyclique des nombre de 1 à `x`. |
|
|
190
|
+
| formatFloat|nb | Formate une valeur décimale brute à `nb` chiffres après la virgule pour la rendre plus lisible en ajoutant un séparateur de milliers et en utilisant la virgule comme séparateur décimal. Un balise qui aurait la valeur "1520.25" sera affichée "1 520,25". |
|
|
191
|
+
| empty|x|y | Affiche X si la valeur est vide. Affiche Y dans le cas contraire. Exemple si le contenu de la balise `{texte10}` est vide, `{texte10|empty|vide}` affiche "vide". |
|
|
192
|
+
| slice|separator|start|length | Affiche une portion d'un texte qui est segmenté par `separator` (au choix `-` ou `_`). La portion commence à la partie `{start}` du texte, pour une longueur de `{length}` parties. Exemple si le contenu de la balise `{titre}` est "a-b-c-d" : <br/><br />`{titre|slice|-|1}` affiche "b-c-d"<br /><br />`{titre|slice|-|1|2}` affiche "b-c"<br /><br />`{titre|slice|-|-2}` affiche "c-d"<br /><br />Il est également possible de séparer le texte avec des espaces en indiquant `space` comme séparateur. Par exemple : `{titre|slice|space|1|2}` |
|
|
193
|
+
| escapejson | Echappe le texte qui peux être utilisé dans une chaine json. |
|
|
194
|
+
| date | Extrait des informations d'un champ `date` ou `datetime`. Ce filtre prend un argument obligatoire parmis les suivants : <br /><br />`{texte10|date|annee}` Affiche l'année courante (2022).<br /><br />`{texte10|date|num_mois}` Affiche le numéro du mois courant (01 - 12).<br /><br />`{texte10|date|num_jour}` Affiche le numéro du jour courant (01 - 31).<br /><br />`{texte10|date|mois}` Affiche le mois courant (janvier - décembre).<br /><br />`{texte10|date|mois_abrev}` Affiche le mois courant abrégé (jan - déc). Il vaut mieux utiliser nov que nov car la découpe se fait plus intelligemment pour les mois en quatre lettres.<br /><br />`{texte10|date|jour_semaine}` Affiche le jour de la semaine courant (lundi - dimanche).<br /><br />`{texte10|date|heure}` Affiche l'heure courante (00-23).<br /><br />`{texte10|date|minute}` Affiche les minutes courantes (00-59).<br /><br />`{texte10|date|seconde}` Affiche les secondes courantes (00-59).<br /><br /><br /><br />Le champ doit contenir une date valide au bon format. Dans le cas contraire le filtre retourne une chaine vide. |
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
Ainsi `{intitule_pagecourante|strtoupper}` affichera le nom de la page courante en
|
|
198
|
+
majuscule. Tandis que `{SOCIETE.societe_cp|left|2}` affichera le numéro de
|
|
199
|
+
département extrait du code postal du contact principal du site.
|
|
200
|
+
|
|
201
|
+
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
## Balises des Widgets
|
|
2
|
+
|
|
3
|
+
Un certain nombre de widgets possèdent des fonctionnalités et des balises
|
|
4
|
+
communes.
|
|
5
|
+
|
|
6
|
+
### `{alterne}`
|
|
7
|
+
|
|
8
|
+
La balise `{alterne}` est utilisée dans les widgets qui génèrent des listings
|
|
9
|
+
comme par exemple le widget du `Blog / Liste des Billets`. La balise affichera
|
|
10
|
+
alternativement 1 ou 2 si on la place dans le bloc qui est répété dans le
|
|
11
|
+
widget.
|
|
12
|
+
|
|
13
|
+
Exemple : le widget `Blog / Liste des Billets` :
|
|
14
|
+
|
|
15
|
+
<!--BEGIN:main -->
|
|
16
|
+
<ul>
|
|
17
|
+
<!--BEGIN:billet -->
|
|
18
|
+
<li class="color_{alterne}">{alterne}, {titre}</li>
|
|
19
|
+
<!-- END:billet -->
|
|
20
|
+
</ul>
|
|
21
|
+
<!-- END:main -->
|
|
22
|
+
|
|
23
|
+
Si on a 5 billets dans son blog, le résultat sera :
|
|
24
|
+
|
|
25
|
+
<pre markdown="0">
|
|
26
|
+
1, Titre du premier billet
|
|
27
|
+
2, Titre du deuxième billet
|
|
28
|
+
1, Titre du troisième billet
|
|
29
|
+
2, Titre du quatrième billet
|
|
30
|
+
1, Titre du cinquième billet
|
|
31
|
+
</pre>
|
|
32
|
+
|
|
33
|
+
Cela vous permet, par exemple, d'appeler alternativement l'un ou l'autre style
|
|
34
|
+
pour changer la couleur de fond et rendre ainsi vos listings plus lisibles.
|
|
35
|
+
|
|
36
|
+
Les balises `{alterne_3}`, `{alterne_4}` et `{alterne_5}` sont également disponibles
|
|
37
|
+
et renvoient respectivement les valeurs :
|
|
38
|
+
|
|
39
|
+
<pre markdown="0">
|
|
40
|
+
1, 2, 3
|
|
41
|
+
1, 2, 3, 4
|
|
42
|
+
1, 2, 3, 4, 5
|
|
43
|
+
</pre>
|
|
44
|
+
|
|
45
|
+
### `{compteur}`
|
|
46
|
+
|
|
47
|
+
La balise `{compteur}` est utilisée dans les widgets qui génèrent des listings
|
|
48
|
+
comme par exemple le widget du `Blog / Liste des commentaires`. La balise
|
|
49
|
+
affichera un compteur commençant à 1 et qui sera incrémenté de 1 à chaque fois.
|
|
50
|
+
|
|
51
|
+
Exemple : le widget `Blog / Liste des Billets` :
|
|
52
|
+
|
|
53
|
+
<!-- BEGIN:main -->
|
|
54
|
+
<ul>
|
|
55
|
+
<!-- BEGIN:commentaire-->
|
|
56
|
+
<li>{compteur}. {commentaire}</li>
|
|
57
|
+
<!-- END:commentaire-->
|
|
58
|
+
</ul>
|
|
59
|
+
<!-- END:main -->
|
|
60
|
+
|
|
61
|
+
Si on a 3 commentaires pour un billet de son blog, le résultat sera :
|
|
62
|
+
|
|
63
|
+
<pre class="prettyprint">
|
|
64
|
+
1. Premier commentaire
|
|
65
|
+
2. Deuxième commentaire
|
|
66
|
+
3. Troisième commentaire
|
|
67
|
+
</pre>
|
|
68
|
+
|
|
69
|
+
Chaque ligne est numérotée automatiquement.
|
|
70
|
+
|
|
71
|
+
### `{intitule}`
|
|
72
|
+
|
|
73
|
+
Cette fonctionnalité est une association entre un bloc et une balise. Les
|
|
74
|
+
widgets pouvant utiliser la fonctionnalité "Intitulé" ont un bloc
|
|
75
|
+
supplémentaire à placer dans le bloc `main` :
|
|
76
|
+
|
|
77
|
+
<!-- BEGIN:main -->
|
|
78
|
+
<!-- BEGIN:intitule -->{intitule}<!-- END:intitule -->
|
|
79
|
+
<!-- END:main -->
|
|
80
|
+
|
|
81
|
+
Le bloc `<!-- BEGIN:intitule -->` `<!-- END:intitule -->` ne s'affiche que si
|
|
82
|
+
l'intitulé du widget est rempli. Cet intitulé est paramétrable lors de l'édition
|
|
83
|
+
d'un widget dans la gestion de l'Apparence de la Console d'administration de
|
|
84
|
+
Kiubi.
|
|
85
|
+
|
|
86
|
+
### `{ctl}`
|
|
87
|
+
|
|
88
|
+
La balise `{ctl}` est présente dans certain widgets qui utilisent un formulaire. Elle
|
|
89
|
+
n'a qu'une utilité technique et est présente sous la forme :
|
|
90
|
+
|
|
91
|
+
<input type="hidden" name="ctl" value="{ctl}">
|
|
92
|
+
|
|
93
|
+
**Il ne faut pas la supprimer, sinon le formulaire ne fonctionnera plus !**
|
|
94
|
+
|
|
95
|
+
### La navigation
|
|
96
|
+
|
|
97
|
+
La navigation est une fonctionnalité que l'on retrouve dans les widgets qui
|
|
98
|
+
génèrent des listings et dont la configuration permet l'affichage. C'est un
|
|
99
|
+
ensemble de blocs qui permet d'afficher des barres de navigations complètes. Les
|
|
100
|
+
résultats sont affichés sur plusieurs pages et la navigation permet de passer
|
|
101
|
+
d'une page à l'autre.
|
|
102
|
+
|
|
103
|
+
Les options de navigation (nombre d'élément par page, afficher ou cacher la
|
|
104
|
+
navigation) sont toujours configurables dans le widget correspondant.
|
|
105
|
+
|
|
106
|
+
La barre de navigation comprend :
|
|
107
|
+
|
|
108
|
+
- des liens vers les pages suivantes et précédentes,
|
|
109
|
+
- des liens vers la première et dernière page,
|
|
110
|
+
- une liste de numéro de page comprenant un lien pour arriver directement sur la
|
|
111
|
+
page en question.
|
|
112
|
+
|
|
113
|
+
Pour plus de souplesse, il est possible de mettre deux barres de navigation dans
|
|
114
|
+
un même widget (une barre en haut et une en bas du listing, par exemple). Les
|
|
115
|
+
balises et blocs ci-dessous fonctionnent dans les blocs `<!-- BEGIN: nav1 -->
|
|
116
|
+
<!-- END: nav1 -->` et `<!-- BEGIN: nav2 --> <!-- END: nav2 -->`.
|
|
117
|
+
|
|
118
|
+
Voici un exemple de ce que cela peux donner en HTML :
|
|
119
|
+
|
|
120
|
+
<!-- BEGIN: nav1 -->
|
|
121
|
+
|
|
122
|
+
<!-- BEGIN: premier -->
|
|
123
|
+
|
|
124
|
+
<a href="{lien_premier}">premiere page</a> |
|
|
125
|
+
|
|
126
|
+
<!-- END: premier -->
|
|
127
|
+
|
|
128
|
+
<!-- BEGIN: precedent -->
|
|
129
|
+
|
|
130
|
+
<a href="{lien_precedent}">page precedente</a> |
|
|
131
|
+
|
|
132
|
+
<!-- END: precedent -->
|
|
133
|
+
|
|
134
|
+
<!-- BEGIN: pages -->
|
|
135
|
+
|
|
136
|
+
<a href="{lien_page}" class="{selected}">{page}</a>
|
|
137
|
+
|
|
138
|
+
<!-- END: pages -->
|
|
139
|
+
|
|
140
|
+
<!-- BEGIN: suivant -->
|
|
141
|
+
|
|
142
|
+
| <a href="{lien_suivant}">page suivante</a>
|
|
143
|
+
|
|
144
|
+
<!-- END: suivant -->
|
|
145
|
+
|
|
146
|
+
<!-- BEGIN: dernier -->
|
|
147
|
+
|
|
148
|
+
| <a href="{lien_dernier}">derniere page</a>
|
|
149
|
+
|
|
150
|
+
<!-- END: dernier -->
|
|
151
|
+
|
|
152
|
+
<!-- END: nav1 -->
|
|
153
|
+
|
|
154
|
+
<br />
|
|
155
|
+
|
|
156
|
+
<br />
|
|
157
|
+
|
|
158
|
+
page {num_page} sur {nb_pages} ({nb_resultats} billets trouvés)<br />
|
|
159
|
+
|
|
160
|
+
<br />
|
|
161
|
+
|
|
162
|
+
[listing ....]<br />
|
|
163
|
+
|
|
164
|
+
<br />
|
|
165
|
+
|
|
166
|
+
<!-- BEGIN: nav2 -->
|
|
167
|
+
|
|
168
|
+
<!-- BEGIN: premier -->
|
|
169
|
+
|
|
170
|
+
<a href="{lien_premier}">premiere page</a> |
|
|
171
|
+
|
|
172
|
+
<!-- END: premier -->
|
|
173
|
+
|
|
174
|
+
<!-- BEGIN: precedent -->
|
|
175
|
+
|
|
176
|
+
<a href="{lien_precedent}">page precedente</a> |
|
|
177
|
+
|
|
178
|
+
<!-- END: precedent -->
|
|
179
|
+
|
|
180
|
+
<!-- BEGIN: pages -->
|
|
181
|
+
|
|
182
|
+
<a href="{lien_page}" class="{selected}">{page}</a>
|
|
183
|
+
|
|
184
|
+
<!-- END: pages -->
|
|
185
|
+
|
|
186
|
+
<!-- BEGIN: suivant -->
|
|
187
|
+
|
|
188
|
+
| <a href="{lien_suivant}">page suivante</a>
|
|
189
|
+
|
|
190
|
+
<!-- END: suivant -->
|
|
191
|
+
|
|
192
|
+
<!-- BEGIN: dernier -->
|
|
193
|
+
|
|
194
|
+
| <a href="{lien_dernier}">derniere page</a>
|
|
195
|
+
|
|
196
|
+
<!-- END: dernier -->
|
|
197
|
+
|
|
198
|
+
<!-- END: nav2 -->
|
|
199
|
+
|
|
200
|
+
Ce qui donnera cela :
|
|
201
|
+
|
|
202
|
+
<pre class="prettyprint">
|
|
203
|
+
premiere page | page precedente | 1 2 3 4 5 | page suivante | derniere page
|
|
204
|
+
|
|
205
|
+
page 2 sur 5 (53 billets trouvés)
|
|
206
|
+
|
|
207
|
+
[listing ...]
|
|
208
|
+
|
|
209
|
+
premiere page | page precedente | 1 2 3 4 5 | page suivante | derniere page
|
|
210
|
+
</pre>
|
|
211
|
+
|
|
212
|
+
#### Balises disponibles
|
|
213
|
+
|
|
214
|
+
#### Arborescence des blocs
|
|
215
|
+
|
|
216
|
+
```
|
|
217
|
+
├── nav1 // Le bloc est affiché si la navigation est active et comporte plusieurs pages.
|
|
218
|
+
│ ├── pages // Le contenu du bloc s'affiche pour chaque page.
|
|
219
|
+
│ ├── premier // Le contenu du bloc s'affiche si on n'est pas sur la première page du listing.
|
|
220
|
+
│ ├── dernier // Le contenu du bloc s'affiche si on n'est pas sur la dernière page du listing.
|
|
221
|
+
│ ├── precedent // Le contenu du bloc s'affiche si on n'est pas sur la première page du listing.
|
|
222
|
+
│ └── suivant // Le contenu du bloc s'affiche si on n'est pas sur la dernière page du listing.
|
|
223
|
+
└── nav2 // Le bloc est affiché si la navigation est active et comporte plusieurs pages.
|
|
224
|
+
├── pages // Le contenu du bloc s'affiche pour chaque page.
|
|
225
|
+
├── premier // Le contenu du bloc s'affiche si on n'est pas sur la première page du listing.
|
|
226
|
+
├── dernier // Le contenu du bloc s'affiche si on n'est pas sur la dernière page du listing.
|
|
227
|
+
├── precedent // Le contenu du bloc s'affiche si on n'est pas sur la première page du listing.
|
|
228
|
+
└── suivant // Le contenu du bloc s'affiche si on n'est pas sur la dernière page du listing.
|
|
229
|
+
```
|
|
230
|
+
#### Balises
|
|
231
|
+
|
|
232
|
+
Bloc|Balise|Description
|
|
233
|
+
---|---|---
|
|
234
|
+
| nav1 | lien_premier | URL vers la première page. |
|
|
235
|
+
| nav1 | lien_dernier | URL vers la dernière page. |
|
|
236
|
+
| nav1 | nb_pages | Nombre de page du listing. |
|
|
237
|
+
| nav1 | nb_resultats | Nombre d'élément dans le listing. |
|
|
238
|
+
| nav1 | num_page | Numéro de la page courante. |
|
|
239
|
+
| nav2 | lien_premier | URL vers la première page. |
|
|
240
|
+
| nav2 | lien_dernier | URL vers la dernière page. |
|
|
241
|
+
| nav2 | nb_pages | Nombre de page du listing. |
|
|
242
|
+
| nav2 | nb_resultats | Nombre d'élément dans le listing. |
|
|
243
|
+
| nav2 | num_page | Numéro de la page courante. |
|
|
244
|
+
| pages | lien_page | URL vers la page |
|
|
245
|
+
| pages | page | Numéro de la page. |
|
|
246
|
+
| pages | selected | Affiche "selected" si la page est la page courante. Sinon n'affiche rien. |
|
|
247
|
+
| pages | lien_page | URL vers la page |
|
|
248
|
+
| pages | page | Numéro de la page. |
|
|
249
|
+
| pages | selected | Affiche "selected" si la page est la page courante. Sinon n'affiche rien. |
|
|
250
|
+
| precedent | lien_precedent | URL vers la page précédente. |
|
|
251
|
+
| precedent | lien_precedent | URL vers la page précédente. |
|
|
252
|
+
| suivant | lien_suivant | URL vers la page suivante. |
|
|
253
|
+
| suivant | lien_suivant | URL vers la page suivante. |
|
|
254
|
+
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
## Types de billets
|
|
2
|
+
|
|
3
|
+
Un billet permet d'ajouter du contenu à une page libre du Site web. Chaque
|
|
4
|
+
billet peut être considéré comme un paragraphe, un bloc de contenu, pouvant
|
|
5
|
+
contenir du texte, des images, des liens, des vidéos, du code HTML, etc. Lors de
|
|
6
|
+
l'ouverture d'un site, Kiubi propose plusieurs types de billets différents en exemple.
|
|
7
|
+
|
|
8
|
+
Chaque type de billet peut être structuré de manière différente et permet
|
|
9
|
+
d'intégrer et de présenter du contenu suivant ses besoins.
|
|
10
|
+
|
|
11
|
+
**Si vous utilisez un thème graphique personnalisé, vous pouvez modifier les types de billets par défaut et créer autant
|
|
12
|
+
de types de billet que souhaité.**
|
|
13
|
+
|
|
14
|
+
### Principe de fonctionnement
|
|
15
|
+
|
|
16
|
+
Le principe de fonctionnement d'un type billet du Site web est très simple. Tous
|
|
17
|
+
les types de billets de votre site sont regroupés dans le répertoire `theme/fr/billets/`
|
|
18
|
+
de votre espace FTP. Chaque sous-répertoire correspond à
|
|
19
|
+
un type de billet.
|
|
20
|
+
|
|
21
|
+
Un billet est composé, en plus d'une structure HTML de votre choix, d'un maximum
|
|
22
|
+
de 17 champs d'information :
|
|
23
|
+
|
|
24
|
+
- `titre`
|
|
25
|
+
- `sstitre`
|
|
26
|
+
- `texte1` à `texte15`
|
|
27
|
+
|
|
28
|
+
Chaque champ peut contenir n'importe quel type de donnée. Par convention (mais
|
|
29
|
+
ce n'est pas obligatoire), les champs `texte10` à `texte15` sont utilisés pour
|
|
30
|
+
stocker des éléments de la médiathèque (image, fichier, etc.), plus précisément
|
|
31
|
+
l'identifiant faisant référence à l'élément de la médiathèque.
|
|
32
|
+
|
|
33
|
+
Ces champs sont à définir dans le fichier `config.xml` de chaque type de
|
|
34
|
+
billet, ce qui permet de générer automatiquement le formulaire de saisie utilisé
|
|
35
|
+
dans la console d'administration. **Ce fichier est obligatoire.**
|
|
36
|
+
|
|
37
|
+
Chaque champ pourrait être par la suite affiché dans le fichier `index.html`
|
|
38
|
+
de chaque type de billet ou dans chaque widget affichant des billets, en
|
|
39
|
+
fonction de ses besoins. **Ce fichier est obligatoire.**
|
|
40
|
+
|
|
41
|
+
**Comme tous les éléments de Kiubi, un billet (ou plutôt une liste de billet)
|
|
42
|
+
est affiché grâce à un widget. C'est principalement les widgets "Contenu de la
|
|
43
|
+
page libre" et "Bloc d'extrait" qui sont utilisés pour afficher les billets dans votre site internet.**
|
|
44
|
+
|
|
45
|
+
### Le fichier `config.xml`
|
|
46
|
+
|
|
47
|
+
Ce fichier contient des informations descriptives du type de billet qui seront
|
|
48
|
+
utilisée à la fois dans la console d'administration et le site Internet. Il
|
|
49
|
+
indique à Kiubi de quels champs est composé le type de billet.
|
|
50
|
+
|
|
51
|
+
#### Exemple de code source
|
|
52
|
+
|
|
53
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
54
|
+
<type tri="2">
|
|
55
|
+
<desc>Titres, texte et image (à gauche)</desc>
|
|
56
|
+
<listechamps>
|
|
57
|
+
<champ champ="titre" type="text" intitule="Titre"/>
|
|
58
|
+
<champ champ="sstitre" type="text" intitule="Sous-titre" />
|
|
59
|
+
<champ champ="texte10" type="image" intitule="Image" />
|
|
60
|
+
<champ champ="texte1" type="wysiwyg" intitule="Contenu" />
|
|
61
|
+
</listechamps>
|
|
62
|
+
</type>
|
|
63
|
+
|
|
64
|
+
#### Description
|
|
65
|
+
|
|
66
|
+
Ce fichier contient une seule balise principale `<type>` qui possède un seul
|
|
67
|
+
attribut :
|
|
68
|
+
|
|
69
|
+
- `tri` : nombre qui sert à définir l'ordre dans le quel vont apparaître les
|
|
70
|
+
types de billet dans les listes déroulantes de la console d'administration.
|
|
71
|
+
|
|
72
|
+
A l'intérieur, une seule balise `<desc>` qui contient la description du type de
|
|
73
|
+
billet qui sera repris dans la console d'administration.
|
|
74
|
+
|
|
75
|
+
La balise `<listechamps>` sert à déclarer tous les champs qui seront utilisés dans
|
|
76
|
+
ce type de billet.
|
|
77
|
+
|
|
78
|
+
Il existe alors une balise `<champ>` par champ qui contient les attributs suivants :
|
|
79
|
+
|
|
80
|
+
- `champ` : code du champ qui sera aussi utilisé dans les templates : `titre`,
|
|
81
|
+
`sstitre`, `texte1` à `texte15`.
|
|
82
|
+
- `type` : le type du champ indique quelle sorte d'information est stockée dans
|
|
83
|
+
le champ.
|
|
84
|
+
- `intitule` : intitulé du champ qui va être repris dans la console
|
|
85
|
+
d'administration dans le formulaire de saisie d'un billet.
|
|
86
|
+
|
|
87
|
+
Il existe dix types de champ :
|
|
88
|
+
|
|
89
|
+
- `text` : champ de saisie simple
|
|
90
|
+
- `textarea` : champ de saisie multiligne
|
|
91
|
+
- `wysiwyg` : éditeur de texte visuel
|
|
92
|
+
- `image` : fichier image de la médiathèque
|
|
93
|
+
- `fichier` : fichier quelconque de la médiathèque
|
|
94
|
+
- `select` : champ de liste déroulante
|
|
95
|
+
- `color` : couleur hexadécimale
|
|
96
|
+
- `date` : date au format `dd/mm/YYYY`
|
|
97
|
+
- `datetime` : date au format `dd/mm/YYYY hh:mm:ss`
|
|
98
|
+
- `checkbox` : champ de type case à cocher
|
|
99
|
+
|
|
100
|
+
Les champs de type `select` ou `checkbox` comportent une liste de valeurs qui est construite
|
|
101
|
+
de la manière suivante :
|
|
102
|
+
|
|
103
|
+
<champ champ="texte2" type="select" intitule="Liste">
|
|
104
|
+
<option value="Valeur1">Label1</option>
|
|
105
|
+
<option value="Valeur2">Label2</option>
|
|
106
|
+
<option value="Valeur3">Label3</option>
|
|
107
|
+
</champ>
|
|
108
|
+
|
|
109
|
+
Dans cet exemple, le contenu de l'attribut `value` est stocké dans le champ `texte2`.
|
|
110
|
+
L'attribut `value` doit **obligatoirement avoir une valeur** (un simple espace `value=" "` est possible). Pour
|
|
111
|
+
les champs de type `checkbox`, la valeur affichée dans le site est la concanénation de toutes les `value` sélectionnées,
|
|
112
|
+
séparées par le caractère `|` (par exemple `Valeur1|Valeur3`).
|
|
113
|
+
|
|
114
|
+
Le label n'est affiché que dans le détail du billet dans la console d'administration.
|
|
115
|
+
|
|
116
|
+
Afin de faciliter l'utilisation des champs de type `date` et `datetime`, il est prévu d'utiliser le filtre `date` suivi
|
|
117
|
+
de l'information à extraire, comme par exemple :
|
|
118
|
+
|
|
119
|
+
Le {texte5|date|jour_semaine} {texte5|date|num_jour} {texte5|date|mois} à {texte5|date|heure}h{texte5|date|minute}
|
|
120
|
+
|
|
121
|
+
Si `texte5` contient la valeur `06/12/2022 15:12:35`, le site affichera :
|
|
122
|
+
|
|
123
|
+
Le dimanche 06 novembre 2022 à 15h12
|
|
124
|
+
|
|
125
|
+
Si la date est invalide ou que le valeur du champ est vide, ce filtre affiche toujours une chaine vide.
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
### Template d'un type de billet
|
|
129
|
+
|
|
130
|
+
Le fonctionnement détaillé du template d'un type de billet ainsi que la liste
|
|
131
|
+
exhaustives de ses balises sont accessibles dans la [documentation des balises du
|
|
132
|
+
service CMS](/design-site-web.html#type-de-billet).
|
|
133
|
+
|
|
134
|
+
### Ajouter un nouveau type de billet
|
|
135
|
+
|
|
136
|
+
Pour ajouter un type de billet, il suffit de créer un nouveau sous-répertoire au
|
|
137
|
+
répertoire `theme/fr/billets/` et d'y copier les fichiers `config.xml` et `index.html`
|
|
138
|
+
correspondant à votre nouveau type de billet. Le nouveau type de
|
|
139
|
+
billet sera alors automatiquement proposé dans le service Site web de la console
|
|
140
|
+
d'administration.
|
|
141
|
+
|
|
142
|
+
### Types de billets du Blog
|
|
143
|
+
|
|
144
|
+
Les types de billet du blog fonctionnent selon le même principe que les billets du Site web mais **uniquement pour ajouter des informations complémentaires aux billets du Blog**.
|
|
145
|
+
|
|
146
|
+
Contrairement aux types de billets du Site web, les types de billets du blog ne déterminent pas le template du billet, mais seulement si des champs `texte1` et `texte15` sont ajoutés au billet.
|
|
147
|
+
|
|
148
|
+
Le principe de configuration des types de billets du Blog est le même que pour les billets du Site web, mais avec les différences suivantes :
|
|
149
|
+
|
|
150
|
+
- les types de billets du blog sont regroupés dans le répertoire `theme/fr/billets_blog/`
|
|
151
|
+
- il n'y a pas de champs `titre` et `sstitre`, seuls les champs `texte1` et `texte15` sont disponibles
|
|
152
|
+
- seul le fichier `config.xml` est disponible, les templates sont dans le répertoire `theme/fr/widgets/blog/`, en fonction des widgets utilisés
|
|
153
|
+
|
|
154
|
+
|