BackBuilder 3.7 : Nouveaux modifier Smarty
Trois nouveaux modifier Smarty ont été introduits dans la révision r654 de BackBuilder 3.7
Ces modifier simplifient la manipulation des liens dans les templates :
getUrl
Le modifier getUrl retourne l'url associée à un lien BackBuilder. Il peut être appelé directement sur la variable smarty injectée par BackBuilder dans le template et ne nécessite pas l'utilisation d'un tableau.
Avant il était nécessaire de travailler directement sur le tableau retourné par BakBuilder :
1 <a href="{$lien.url}">Texte du lien</a>
Désormais la méthode suivante, plus propre, peut être utilisée :
1 <a href="{$lien|getUrl}">Texte du lien</a>
getLink
L'avantage des nouveaux modifier est surtout visible grâce au modifier getLink. Le modifier getLink retourne un lien complet.
Avant (manipulation du tableau retourné par BakBuilder) :
1 <a href="{$lien.url}" title="{$lien.title}" {if $lien.popup}target="_blank"{/if}>{$lien.title}</a>
Désormais la méthode suivante, plus propre, peut être utilisée (et retourne le même résultat):
1 {$lien|getLink}
Plusieurs paramètres peuvent être passés au modifier pour ajouter ou forcer certains attributs :
1 {$lien|getLink:"myClass":"myIdForTheLink":"Texte du lien":"Titre du lien"}
wrapLink
Le modifier getLink est très pratique mais il n'est pas idéal pour créer un lien autour d'une image. C'est pourquoi le modifier wrapLink existe. Il encadre l'élément sur lequel il est appliqué par un lien :
Avant (manipulation du tableau retourné par BakBuilder) :
1 <a href="{$lien.url}" title="{$lien.title}" {if $lien.popup}target="_blank"{/if}>{$image|getFile}</a>
Désormais les modifier peuvent être chaînés (le lien doit alors être passé en premier paramètre du modifier) :
1 {$image|getFile|wrapLink:$lien}
getLinkAttributes
Il est également possible de récupérer uniquement les attributs du lien. Cela peut s'avérer très utile pour construire des liens personnalisés.
Exemple :
1 <a href="{$link|getUrl}" {$link|getLinkAttributes}>
2 <span class="btnLink">$link.title</span>
3 <p class="description">Lorem ipsum dolor sit amet</p>
4 </a>
Comments