#Templating
Les templates utilisés sont des templates utilisant le moteur de template principal de PrestaShop: Smarty
Chaque template doit être enregistré en utilisant la nouvelle syntaxe de PrestaShop:
Exemple: module:modulemodule/views/templates/hook/front.tpl
Ex: pour un template localisé dans: /modules/modulemodule/views/templates/hook/front.tpl
utlisant la syntaxe: module:modulemodule/views/templates/hook/front.tpl
Ce dernier peut être surclassé en le plaçant dans un thème:
/themes/montheme/modules/modulemodule/views/templates/hook/front.tpl
#Utiliser les données du bloc
PrettyBlocks renvoie dans chaque block, une variable nommée: $block
#Configuration
Toutes les données définies dans la section config
peuvent être exploitées sous cette forme:
{$block.settings.{$nom_de_la_cle}}
1// exemple 2'config' => [ 3 'fields' => [ 4 'title' => [ 5 'type' => 'text', // type of field 6 'label' => 'Title', // label to display 7 'default' => 'Customer reviews' // default value 8 ], 9 'color' => [10 'type' => 'color', // type of field11 'label' => 'Choose a background color', // label to display12 'default' => '#121212' // default value13 ]14],
Pour récupérer title
placez dans vos templates: {$block.settings.title}
Pour color
=> {$block.settings.color}
etc...
#Champs par défaut
Il existe 2 champs par défaut que tous les blocks peuvent utiliser.
container
Utilisé pour placer dans un container ou non (à vous de l'utiliser de cette manière)
1<div class="{if $block.settings.default.container} container {/if}"> ... </div>
bg_color
pour utiliser un background-color
1<div style="{if $block.settings.default.bg_color}background-color: {$block.settings.default.bg_color} {/if}"> ... </div>
#Champs répétables
Comme pour les champs de configuration, les champs répétables (repeater
) sont également présents dans chaque block
Vous pouvez les utiliser avec cette variable: {$block.states}
1// exemple 2'repeater' => [ 3 'name' => 'Element repeated', 4 'nameFrom' => 'title', 5 'groups' => [ 6 'title' => [ 7 'type' => 'text', // type of field 8 'label' => 'Title', // label to display 9 'default' => 'Customer reviews' // default value10 ],11 'color' => [12 'type' => 'color', // type of field13 'label' => 'Choose à background color', // label to display14 'default' => '#121212' // default value15 ]16 ]17]
Exemple pour utiliser les éléments répétables dans ses templates.
1{foreach from=$block.states item=$state}2 {$state.title}3 {$state.color}4{/foreach}