Estás en: Inicio > Plantillas > Avanzado > Creando bloques de contenido Inicio

Creando bloques de contenido

Los bloques se definen en el archivo de plantilla que se desee usando el tag liquid section.

La sintaxis de section es la siguiente:

{% section title edit:[true|false] hide:[true|false] rich:[true|false] %}
  <!-- Contenido por defecto -->
{% endsection %}
  • title: Es el nombre e indentificador del bloque. Es obligatorio y no puede estar repetido.
  • edit: Define si se puede editar el contenido del bloque. No es obligatorio y su valor por defecto true.
  • hide: Define si se puede ocultar el bloque. No es obligatorio y su valor por defecto true.
  • rich: Define si el bloque texto enriquecido. No es obligatorio y su valor por defecto true.

Un ejemplo de bloque:

<div id="main">
  {% section home %}
  <p>Bienvenidos a mi web.</p>
  {% endsection %}
</div>

Aunque por defecto los bloques son editables y ocultables conviene tener en cuenta una serie de consejos:

No hacer un bloque editable si contiene código liquid Si creamos un bloque de contenido con el listado de los productos destacados, por ejemplo, y lo hacemos editable cuando lo editemos el bloque guardará la representación del bloque en el momento de la edición.

No hacer un bloque editable y ocultable a la vez Se recomienda hacer o bloques editables o bloques de visibilidad:

Bloque de visibilidad:

<div>
  {% section destacados edit:false %}
    {% for product in highlight_products %}
      <!-- contenido -->
    {% endfor %}
  {% endsection %}
</div>

Bloque

<div>
  {% section home hide:false %}
  <p>Bienvenidos a mi web.</p>
  {% endsection %}
</div>

No utilizar texto enriquecido dentro de elementos de bloque El editor enriquecido inserta el contenido entre etiquetas <p>. La etiqueta <p> es un elemento de bloque y HTML no permite elementos de bloque dentro de otros elementos de bloque. Por tanto en el siguiente ejemplo:

<h1>{% section title %}Titulo por defecto{% endsection %}</h1>

el resultado de editarlo con el editor enriquecido será el siguiente:

<h1><p>Nuevo titulo</p></h1>

lo cual derivará en html no válido y posiblemente rompa el diseño de la página por los márgenes que introduce la etiqueta <p>.

Lo siguiente es correcto:

<h1>{% section title rich:false %}Titulo por defecto{% endsection %}</h1>

No crear bloques dentro de otros bloques Esto puede introducir errores, ya que el bloque interior puede ser considerado como contenido del bloque exterior y por tanto sobreescrito o ignorado.

Enlaces de interés:

Estás en: Inicio > Plantillas > Avanzado > Creando bloques de contenido Inicio