Le CMS Ametys met à disposition des intégrateurs de nombreuses fonctions Twig, utilisables directement dans les templates, facilitant l'intégration des chartes graphique.
Description :
Retourne le contexte de l'application en fonction du contexte de rendu, par exemple '/cms', '/cms/preview'.
Cette fonction peut être utilisée pour accéder au serveur via des requêtes AJAX.
Le résultat peut être vide si le contexte de l'application correspond à la racine du domaine.
Signature :
String uriPrefix()
Exemple :
$j.post("{{ uriPrefix() }}"/>/plugins/cms/comments/add-comment", data, result);
Description :
Identique à uriPrefix mais en ajoutant le protocole et le nom du serveur pour obtenir une adresse aboslue, par exemple 'http://www.ametys.org' or 'http://www.ametys.org/cms' or 'http://www.ametys.org/cms/preview'.
Signature :
String absoluteUriPrefix()
Description :
Retourne le contexte du site indiqué en paramètre (site courant si pas de paramètre) en fonction du contexte de rendu, par exemple '/cms/www', '/cms/preview/www'.
Cette fonction peut être utilisée pour construire un chemin vers une page.
Le résultat peut être vide si le contexte du site correspond à la racine du domaine.
Signature :
String siteUriPrefix()
String siteUriPrefix(String siteName)
Arguments :
Nom | Type | Description |
---|---|---|
siteName | String | Nom du site |
Exemple :
<a href="{{ siteUriPrefix() }}/{{ lang() }}/index.html">Accueil</a> <a href="{{ siteUriPrefix('www') }}/{{ lang() }}/index.html">Accueil</a>
Description :
Identique à siteUriPrefix mais renvoie une valeur absolue, par exemple 'http://www.ametys.org' or 'http://www.ametys.org/cms/www' or 'http://www.ametys.org/cms/preview/www'.
Utile pour obtenir l'URL du site (pour créer le bouton "I like facebook" par exemple).
Signature :
String absoluteUriPrefix()
String absoluteUriPrefix(String siteName)
Arguments :
Nom | Type | Description |
---|---|---|
siteName | String | Nom du site |
Description :
Retourne le nom de la charte graphique utilisée par le site courant.
Signature :
String skin()
Description :
Retourne le chemin vers le fichier ressource de la charte graphique.
Signature :
String skinURL(String path)
Arguments :
Nom | Type | Description |
---|---|---|
path | String | Chemin vers une ressource de la charte graphique |
Exemple :
Insérer une image placée dans le répertoire cms/skins/[skinName]/resources/img/[imageName].png.
<img src="{{ skinURL('img/[imageName].png') }}"/>
Description :
Retourne un nœud DOM représentant le sous-répertoire du répertoire resources de la charte graphique en cours d'utilisation.
Cela permet notamment de faire un diaporama de l'ensemble des images d'un répertoire sans connaître les noms de tous les fichiers.
Voir resourcesById pour voir la description du DOM.
Signature :
Collection skinResources(String path)
Arguments :
Nom | Type | Description |
---|---|---|
path | String | Chemin dans le répertoire resources de la charte graphique |
Exemple :
<ul> {% for resource in skinResources('img/slideshow') %} <img src="{{ skinURL('img/slideshow/' ~ resource.name)) }}"/> {% endfor %} </ul>
Description :
Retourne une image de la charte graphique encodée en base 64. L'image est alors intégrée directement dans le corps HTML de la page.
Signature :
String skinImageBase64(String path)
Arguments :
Nom | Type | Description |
---|---|---|
path | String | Chemin de l'image dans le répertoire resources de la charte graphique |
Exemple :
<img src="{{ skinImageBase64('img/header.jpg') }}" />
Description :
Retourne le nom du gabarit en cours d'utilisation.
Signature :
String template()
Description :
Retourne le chemin vers la ressource mise en argument contenue dans le gabarit courant de la charte graphique.
Signature :
String templateURL(String path)
Arguments :
Nom | Type | Description |
---|---|---|
path | String | Chemin vers une ressource du gabarit de la charte graphique |
Exemple :
Insérer une image placée dans le répertoire cms/skins/[skinName]/templates/[currentTemplateName]/resources/img/[imageName].png".
<img src="{{ templateURL('img/[imageName].png') }}"/>
Description :
Retourne le nom de la zone en cours d'utilisation. Utile pour le rendu d'un contenu ou d'un service.
Attention, le rendu d'un contenu peut aussi être visualisé en dehors d'une page avec aucune zone associée, il faut donc passer en paramètre une valeur par défaut.
Signature :
String zone (String defaultValue)
Arguments :
Nom | Type | Description |
---|---|---|
defaultValue | String | Valeur par défaut si aucune zone n'est en cours d'utilisation |
Exemple :
{% set zone = zone("default") %} {% if zone == 'default' %} <!-- Nous sommes dans la zone 'default' --> ... {% elseif zone == 'right' %} <!-- Nous sommes dans la zone 'right' --> ... {% else %} <!-- Nous sommes dans la zone 'left' --> ... {% endif %}
Description :
Retourne l'identifiant du site contenant la page courante.
Signature :
String site()
String site(String pageId)
Arguments :
Aucun
Nom | Type | Description |
---|---|---|
pageId | String | Identifiant unique de page |
Description :
Retourne le code de la langue de la page en cours d'utilisation.
Signature :
String lang()
String lang(String pageId)
Arguments :
Aucun
Nom | Type | Description |
---|---|---|
pageId | String | Identifiant unique de page |
Exemple :
<a href="{{ siteUriPrefix() }}/{{ lang() }}/index.html">Accueil</a>
Description :
Retourne le chemin de la page courante. Ce chemin est relatif au plan du site.
Signature :
String pagePath()
Description :
Retourne l'identifiant unique de la page courante (sous la forme page://...).
Signature :
String pageId()
Description :
Retourne le titre de la page.
Signature :
String pageTitle(String sitename, String lang, String path)
String pageTitle(String pageId)
Arguments :
Nom | Type | Description |
---|---|---|
sitename | String | Identifiant du site |
lang | String | Code de la langue du site |
path | String | Chemin de la page dans le plan du site |
Nom | Type | Description |
---|---|---|
pageId | String | Identifiant unique de page |
Exemple :
Ceci retournera le titre de la page d'accueil : "Home" ou "Accueil".
{{ pageTitle(site(), lang(), 'index') }}
Description :
Identique à pageTitle excepté qu'il retourne le titre long.
Noter que s'il n'y a pas de titre long, c'est le titre qui est retourné.
Signature :
String longPageTitle(String sitename, String lang, String path)
String longPageTitle(String pageId)
Arguments :
Nom | Type | Description |
---|---|---|
sitename | String | Identifiant du site |
lang | String | Code de la langue du site |
path | String | Chemin de la page dans le plan du site |
Nom | Type | Description |
---|---|---|
pageId | String | Identifiant unique de page |
Description :
Retourne la valeur d'une métadonnée de page sous forme de chaîne de caractères.
Signature :
String pageMetadata (String sitename, String lang, String path, String metadataName)
String pageMetadata (String pageId, String metadataName)
Arguments :
Nom | Type | Description |
---|---|---|
sitename | String | Identifiant du site |
lang | String | Code de la langue du site |
path | String | Chemin de la page dans le plan du site |
metadateName | String | Nom de la metadonnée. Utiliser le caractère '/' pour accéder à une métadonnée composite. |
Nom | Type | Description |
---|---|---|
pageId | String | Identifiant unique de page |
metadataName | String | Nom de la metadonnée. Utiliser le caractère '/' pour accéder à une métadonnée composite. |
Description :
Retourne le statut de la page selon si elle est restreinte ou non : false si la page est public, sinon true.
Signature :
boolean pageHasRestrictedAccess(String pageId)
Arguments :
Nom | Type | Description |
---|---|---|
pageId | String | Identifiant unique de page |
Description :
Retour une liste de pages correspondant à une recherche par tag, sous la forme :
Signature :
Collection findPagesIdsByTag(String tag)
Collection findPagesIdsByTag(String sitename, String lang, String tag)
Arguments :
Nom | Type | Description |
---|---|---|
tag | String | Identifiant de l'étiquette de page |
Nom | Type | Description |
---|---|---|
sitename | String | Nom du site. Par exemple 'www'. |
lang | String | Code de la langue. Par exemple 'fr'. |
tag | String | Identifiant de l'étiquette de page. |
Exemple :
Pour créer une liste de lien vers les pages portant l'étiquette TEST.
{% set testPages = findPagesIdsByTag('TEST') %} {% if testPages is not null %} <ul> {% for page in testPages %} <li> <a href="{{ resolve('page', page.id) }}">{{ pageLongTitle(page.id) }}</a> </li> {% endfor %} </ul> {% endif %}
Description :
Détermine si le service, le contenu ou la page sur lequel on se trouve est cacheable, c'est à dire peut être mis dans le cache.
Si isCacheable est appelée depuis le rendu d'un service, la méthode retourne le statut du service vis à vis du cache.
Si isCacheable est appelée depuis le rendu d'un contenu, la méthode retourne le statut du contenu vis à vis du cache.
Si isCacheable est appelée dans la skin, la méthode retourne le statut de la page vis à vis du cache.
Signature :
boolean isCacheable()
Description :
Retourne une collection correspondant aux fichiers joints du contenu courant ou du contenu spécifié.
Voir resourcesById
Signature :
Collection contentAttachments()
Collection contentAttachments(String contentId)
Arguments :
Nom | Type | Description |
---|---|---|
contentId | String | Identifiant unique du contenu |
Description :
Retourne les étiquettes appliquées au contenu courant.
Signature :
Collection contentTags()
TODO
TODO
TODO
Description :
Échappe les caractères spéciaux d'une chaîne pour être compatible en JavaScript.
Par exemple, le saut de ligne devient \n, la " devient \", etc.
Signature :
String escapeJS(String value)
Arguments :
Nom | Type | Description |
---|---|---|
value | String | Valeur à échapper |
Exemple :
Pour initialiser une variable JavaScript avec une valeur provenant du XML, ne pas l'affecter directement car certains caractères (comme le guillemet ou le retour à la ligne) ne seront pas valides en JavaScript.
<script type="text/javascript"> var name = "{{ escapeJS(name) }}"; </script>
Description:
Scinde le texte à la prochaine occurrence d'un caractère parmi le jeu de caractères donné, en tenant compte d'un taille minimum du texte retourné.
Signature:
String splitText (String textToSplit, String tokenizers, int startIndex)
Arguments:
Nom | Type | Description |
---|---|---|
textToSplit | String | Texte à scinder |
tokenizers | String | Caractères délimiteurs |
startIndex | int | Indice dans la chaine de caractères à partir de laquelle commencer la recherche d'un caractère délimiteur. Correspond de ce fait à la taille minimum de la chaine de retour. |
Exemple:
{{ splitText ('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quoniam, si dis placet, ab Epicuro loqui discimus.', ',.;', 70) }}
La chaîne retournée est "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quoniam, si dis placet"
Description :
Retourne le chemin vers un fichier de ressource stocké dans un plugin.
Signature :
String pluginResourceURL(String plugin, String path)
Arguments :
Nom | Type | Description |
---|---|---|
plugin | String | Nom du plugin |
path | String | Chemin dans le répertoire de ressources du plugin |
Exemple :
<script type="text/javascript" src="{{ pluginResourceURL('web', 'js/jquery.treeview.min.js') }}"/>
Description :
Retourne une image encodée en base 64 stocké dans un plugin.
Signature :
String pluginImageBase64(String plugin, String path)
Arguments :
Nom | Type | Description |
---|---|---|
plugin | String | Nom du plugin |
path | String | Chemin de l'image dans le répertoire de ressources du plugin |
Exemple :
<img src="{{ pluginResourceURL('myplugin', 'img/image.png') }}"/>
TODO
TODO
TODO
Description :
Retourne la valeur d'un paramètre de configuration.
Signature :
String config(String id)
Arguments :
Nom | Type | Description |
---|---|---|
id | String | Identifiant du paramètre |
Exemple :
<script type="text/javascript"> alert("Vous allez recevoir un email de {{ config('smtp.mail.from') }}"); </script>
TODO
TODO
TODO
TODO