- Uso de datos del Block
- Configuración
- Campos Predeterminados
- $block.styles
- $block.classes
- Campos Repetibles
#Plantillas
Las plantillas utilizadas son aquellas que emplean el motor principal de plantillas de PrestaShop: Smarty
Cada plantilla debe registrarse utilizando la nueva sintaxis de PrestaShop:
Ejemplo: module:modulemodule/views/templates/hook/front.tpl
Ejemplo: para una plantilla ubicada en: /modules/modulemodule/views/templates/hook/front.tpl
utilizando la sintaxis: module:modulemodule/views/templates/hook/front.tpl
Esta puede ser sobrescrita colocándola en un tema:
/themes/mytheme/modules/modulemodule/views/templates/hook/front.tpl
#Uso de datos del Block
PrettyBlocks devuelve una variable llamada $block
en cada block
#Configuración
Todos los datos definidos en la sección config
pueden utilizarse de esta forma:
{$block.settings.{$nombre_de_la_clave}}
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],
Para recuperar title
, coloca en tus plantillas: {$block.settings.title}
Para color
=> {$block.settings.color}
y así sucesivamente...
#Campos Predeterminados
Existen varios campos predeterminados que todos los blocks pueden utilizar.
container
Se utiliza para colocar el contenido en un contenedor o no (puedes implementarlo según tus necesidades)
1<div class="{if $block.settings.default.container} container {/if}"> ... </div>
force_full_width
Se utiliza para extender un block al 100% del ancho
1<div class="{if $block.settings.default.force_full_width} _force-full {/if}"> ... </div>
Puedes utilizar la clase CSS _force-full
para extender el Block al 100% del ancho
TIPS
Puedes combinar las dos clases container
y _force-full
(en este caso, _force-full
tiene prioridad)
1<div class="{if $block.settings.default.container}container{/if}{if $block.settings.default.force_full_width}_force-full{/if}"> ... </div>
bg_color
para utilizar un background-color
(color de fondo)
1<div style="{if $block.settings.default.bg_color}background-color: {$block.settings.default.bg_color} {/if}"> ... </div>
#$block.styles
{$block.styles}
genera un atributo style='...'
en tus Blocks si utilizas márgenes y rellenos personalizados desde PrettyBlocks. Esta funcionalidad te permite aplicar estilos específicos a cada Block de manera dinámica y flexible.
1<div {$block.styles}> ... </div>
#$block.classes
{$block.classes}
te permite colocar clases CSS generadas automáticamente por PrettyBlocks cuando utilizas márgenes y rellenos desde PrettyBlocks (del 1 al 12)
1<div class="{$block.classes}"> ... </div>
#Campos Repetibles
De manera similar a los campos de configuración, los campos repetibles (repeater
) también están presentes en cada block.
Puedes utilizarlos con esta 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]
Ejemplo de cómo utilizar elementos repetibles en tus plantillas:
1{foreach from=$block.states item=$state}2 {$state.title}3 {$state.color}4{/foreach}