Filtres
Les filtres manipulent l'affichage des variables. L'utilisation d'un filtre fonctionne telle que voici {{ nom_de_la_variable | nom_du_filtre }}. Par exemple :
{{ product.title | upcase }}
"NOM DE VOTRE PRODUIT"
Filtres HTML
img_tag
img_tag(url, alt="")
Ce filtre crée une balise d'image, en utilisation le paramètre URL comme source de l'image, et le paramètre optionel comme description alternative de l'image.
{{ 'company_logo.png' | asset_url | img_tag }}
<img src="/upload/.../company_logo.png" alt="" />
{{ 'hello.png' | asset_url | img_tag:"Hi!" }}
<img src="/upload/.../hello.png" alt="Hi!" />
script_tag
script_tag(url)
Reçois l'URL d'un fichier javascript et l'entoure d'une balise script. Vous souhaiterez l'utiliser dans la balise <head> pour les fichiers JS de votre thème.
{{ 'jquery.js' | theme_asset_url | script_tag }}
<script src="/upload/.../jquery.js" type="text/javascript"></script>
stylesheet_tag
stylesheet_tag(url, media="all")
Reçois l'URL d'un fichier CSS et l'entoure d'une balise <link>. Vous souhaiterez l'utiliser dans la balise <head> pour les fichiers CSS de votre thème.
{{ 'style.css' | theme_asset_url | stylesheet_tag }}
<link href="/upload/.../style.css" rel="stylesheet" type="text/css" media="all" />
URL filters
asset_url
asset_url(file_name)
Reçois le nom d'un fichier de boutique, et retourne son URL complète.
{{ 'press-release.pdf' | asset_url }}
/upload/.../press-release.pdf
theme_asset_url
theme_asset_url(file_name)
Reçois le nom d'un fichier de thème, et retourne son URL complète.
{{ 'style.css' | theme_asset_url }}
/upload/.../style.css
link_to
link_to(text, url, title="")
Crée un lien. Le premier paramètre est le texte du lien, le second est l'URL vers où le lien mènera. Le troisième paramètre "title" est optionnel.
{{ 'Visitez notre partenaire' | link_to:'http://site.partenai.re' }}
<a href="http://site.partenai.re">Visitez notre partenaire</a>
Filtres de prix
money
money(number, style="short")
Reçois un nombre, typiquement un prix, et retourne une version formattée du prix pour la langue et la monnaie de la boutique.
{{ product.price | money }}
24,35 €
{{ product.price | money:'long' }}
24,35 EUR
money_with_span
money_with_span(number, style="short")
Comme money, mais entoure le symbole de la monnaie dans un <span>.
{{ product.price | money_with_span }}
24,35 <span class="currency">€</span>
{{ product.price | money_with_span:'long' }}
24,35 <span class="currency">EUR</span>
Filtres d'objets
paginate
paginate(collection, prev_label = "", next_label = "", anchor = "")
Prend une liste d'objets paginés (typiquement products et blog_posts) et affiche les liens de pagination "Page précédente" et "Page suivante".
{{ products | paginate:"← Page précédente", "Page suivante →" }}
<div class="pagination">
<span class="disabled prev_page">← Page précédente</span>
<span class="current">1</span>
<a href="http://.../products?page=2" rel="next">2</a>
<a href="http://.../products?page=2" class="next_page" rel="next">Page suivante →</a>
</div>
product_category_title_with_tree
product_category_title_with_tree(category, separator = " / ")
Reçois une catégorie de produit category, et retourne un arbre de ses caétgories parentes, se terminant par cette même catégorie.
{{ category | product_category_title_with_tree }}
Vêtements / Hommes / Hiver
Filtres de date
date
date(date, format)
Reformate une date. Afficher/Cacher les caractères de formattage
{{comment.posted_at | date:"%Y-%m-%dT%H:%M:%S"}}
13 November 2010 à 13:37
Filtres mathématiques
plus
plus(number, number)
{{ 3.14 | plus:38.86 }}
42.0
minus
minus(number, number)
{{ 42 | minus:35 }}
7
times
times(number, number)
{{ 7 | times:191 }}
1337
divided_by
divided_by(number, number)
{{ 1337 | divided_by:7 }}
191
Filtres de chaînes de caractères
- capitalize — met la première lettre du premier mot de la chaîne en majuscule
- capitalize_words — met la première lettre de tous les mots de la chaîne en majuscule
- d²owncase — converti la chaîne en minuscules
- upcase — converti la chaîne en majuscules
- escape — échappe la chaîne
- escape_once — échappe la chaîne sans affecter les entitées déjà échappées
- strip_html — enlève l'HTML de la chaîne
- strip_newlines — enlève toutes les nouvelles lignes (\n) de la chaîne
- newline_to_br — remplace chaque nouvelle ligne (\n) par un <br />
- replace — recherche et remplace chaque occurrence, ex: {{ 'foofoo' | replace:'foo','bar' }} #=> 'barbar'
- replace_first — recherche et remplace la première occurrence, ex: {{ 'barbar' | replace_first:'bar','foo' }} #=> 'foobar'
- remove — enlève chaque occurrence, ex: {{ 'foobarfoobar' | remove:'foo' }} #=> 'barbar'
- remove_first — enlève la première occurrence, ex: {{ 'barbar' | remove_first:'bar' }} #=> 'bar'
- truncate — tronque une chaîne jusqu'a X caractères
- truncate_words — tronque une chaîne jusqu'a X mots
- prepend — précède une chaîne, ex: {{ 'bar' | prepend:'foo' }} #=> 'foobar'
- append — appose une chaîne, ex: {{ 'foo' | append:'bar' }} #=> 'foobar'
Filtres de tableaux
- first — retourne le premier élément
- last — retourne le dernier élément
- join — joint les éléments du tableau avec une chaîne de caractère
- sort — ordonne les éléments
- map — retourne un tableau contenant la valeur d'un de leur attributs, ex: {{variant.options | map:"value" | join:" / "}} #=> 'Taille / Couleur / Matière'
- size — retourne la taille d'un tableau (ou d'une chaîne de caractères)