# 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
TIP
TOUS les templates peuvent être overridés par un thème parent ou enfant.
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}}
// exemple
'config' => [
'fields' => [
'title' => [
'type' => 'text', // type of field
'label' => 'Title', // label to display
'default' => 'Customer reviews' // default value
],
'color' => [
'type' => 'color', // type of field
'label' => 'Choose a background color', // label to display
'default' => '#121212' // default value
]
],
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)
<div class="{if $block.settings.default.container} container {/if}"> ... </div>
bg_color
pour utiliser un background-color
<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}
// exemple
'repeater' => [
'name' => 'Element repeated',
'nameFrom' => 'title',
'groups' => [
'title' => [
'type' => 'text', // type of field
'label' => 'Title', // label to display
'default' => 'Customer reviews' // default value
],
'color' => [
'type' => 'color', // type of field
'label' => 'Choose à background color', // label to display
'default' => '#121212' // default value
]
]
]
Exemple pour utiliser les éléments répétables dans ses templates.
{foreach from=$block.states item=$state}
{$state.title}
{$state.color}
{/foreach}
Zones →