PrettyBlocks
Templating

#
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 field
11 'label' => 'Choose a background color', // label to display
12 'default' => '#121212' // default value
13 ]
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 value
10 ],
11 'color' => [
12 'type' => 'color', // type of field
13 'label' => 'Choose à background color', // label to display
14 'default' => '#121212' // default value
15 ]
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}