Plantillas de diseño Bootic

Bootic code editor

Las plantillas HTML de cada página de tu tienda Bootic pueden ser editadas en el área de diseño de tu panel de administración.

Para esto, Bootic define una serie de plantillas presentes en todas las tiendas.

plantilla usada en URLs  
layout.html Todas es la plantilla HTML principal. Todas las otras páginas se despliegan aquí dentro.
home.html / es la página que ves cuando visitas la portada de tu tienda.
products.html /products, /types/mp3s, /types/mp3s/tags/apple despliega todos los productos de tu tienda.
product.html /product/ipod-nano es la ficha o detalle de cada producto.
collection.html /collections/destacados, y colecciones filtradas por tipo o etiquetas detalle de una colección de productos. Aquí muestras la descripción de la colección y la lista de productos asociados a ella.
page.html /pages/about-us detalle de cada página de contenido que hayas creado para tu tienda.
form.html /forms/contacto contenido y campos de cada formulario de contacto de tu tienda.
cart.html /cart muestra a tus clientes el contenido de sus carros de compra en tu tienda.
blog.html /blog lista de artículos en el blog.
post.html /blog/2011/01/13/hola-mundo detalle de un artículo del blog.

Contenido dinámico

Cada una de estas plantillas recibe contenido dinámicamente de acuerdo a lo que estas mostrando en ella. Para esto, Bootic define una sintaxis especial que puedes usar en las plantillas HTML para insertar el contenido dinámico. La tecnología detras de estas variables se llama Liquid y puedes leer más en este link.

Por ejemplo, para generar una lista de productos en la plantilla products.html:

<ul id="products">
  {% for product in products %}
  <li class="product">
    <h3><a href="{{product.url}}">{{ product.model }}</a></h3>
    <span class="price">{{ product.price.format }}</span>
  </li>
  {% endfor %}
</ul>

Esta sintaxis define tres tipos de operaciones: variables, filtros y etiquetas.

Variables

Una variable está rodeada por {{}} e inserta texto directamente en tu plantilla.
  {{ product.url }}

Filtros

Un filtro modifica o agrega al valor de una variable o expresión. La sintáxis de un filtro es expresión | filtro. La barra vertical quiere decir "toma el valor de la expresión y pásalo a través del filtro". Por ejemplo, el filtro asset_url agrega la URL completa del servidor de archivos. El ejemplo
'estilos.css' | asset_url
... Genera la ruta absoluta a una imagen subida a través del editor de plantillas Bootic, como esta:
http://static.bootic.net/themes/110/estilos.css
Este link lista todos los filtros disponibles en Bootic y detalla sus formas de uso.

Etiquetas

Una etiqueta esta rodeada por {% %} y no retorna texto directamente, sino que modifica el contenido que rodea. Este ejemplo itera una lista de 3 productos y genera HTML para cada producto en la lista.
{% for product in products limit:3 %}
<a href="{{product.url}}">{{ product.model }}</a>
{% endfor %}
El resultado es 3 links HTML, uno para cada producto.
Liquid es un motor de plantillas muy completo y este wiki sólo nos enfocamos en los aspectos que tienen relación directa con plantillas de tiendas Bootic. Para uso general te recomendamos que revises la documentación oficial de liquid.

Variables y etiquetas disponibles

Estas son algunas de las variables y etiquetas disponibles en cualquier plantilla Bootic.

{{ template }} Plantilla actual ("home", "products", "page", etc.)
{{ shop.name }} Nombre de la tienda
{{ shop.description }} descripción de la tienda, modificable en el panel de administración.
{{ shop.url }} URL de la portada.
{% all_products %} Objeto iterable que contiene todos los productos en la tienda Ver más
{% collections %} Objeto iterable que contiene todas las colecciones en la tienda Ver más
{% pages %} Objeto iterable que contiene todas las páginas en la tienda Ver más
{% forms %} Objeto iterable que contiene todos los formularios en la tienda Ver más
{% menus %} Objeto iterable que contiene todos los menús de navegación en la tienda Ver más
{% blog %} Objeto iterable que contiene todos los artículos del blog de la tienda Ver más
{% tags %} Objeto iterable que contiene todas las etiquetas en la tienda Ver más
{% product_types %} Objeto iterable que contiene todos los tipos de productos en la tienda Ver más
{% vendors %} Objeto iterable que contiene todas las marcas de productos en la tienda Ver más
{% resource %} Alias que apunta al objeto principal en una plantilla. Puede ser collection, page, form, product, etc. Ver más

Producto

Disponible en product.html o dentro de un loop de productos.

{{ product.model }} Modelo o título de un producto
{{ product.description }} Descripción de un producto
{{ product.price }} Precio de un producto, en centavos.
{{ product.price.format }} para formatear.
{{ product.url }} URL a la ficha de producto
{{ product.first_image }} Primera imagen de un producto
{% for image in product.images %}
...
{% endfor %}
Iterar imagenes de un producto

Página

Disponible en page.html o dentro de un loop de páginas.

{{ page.title }}  
{{ page.body }}  
{{ page.url }}  

Colección

Disponible en collection.html o dentro de un loop de colecciones.

{{ collection.title }}  
{{ collection.body }}  
{{ collection.url }}  

Formulario

Disponible en form.html o dentro de un loop de formularios.

{{ form.title }}  
{{ form.body }}  
{{ form.url }}  
{% contact_form_field %} Etiqueta especial que muestra los campos definidos para el formulario actual.

Carro de compras

{% add_to_cart %} Página de producto (product.html). HTML para selector de variantes y botón "agregar al carro".
{% cart %} Inserta el HTML necesario para el carro de compras con todos sus productos.
blog comments powered by Disqus