Oct 052012

Personalizando Prestashop e interactuando con el usuario

Tweet about this on Twitter0Share on LinkedIn0Buffer this pageEmail this to someone

Si habéis tocado templates de Prestashop y habéis querido ir un poco más allá, como yo, habréis tenido problemas. Muchos.

Personalizar con Prestashop es bastante palo. Es una marabunta de {if}{else}{/if} y, sí, es lo que hay de momento.
Si hay que personalizar las páginas de categorías, cms o producto, podemos hacerlo de forma relativamente fácil, por ejemplo, para mostrar algo solo en la categoría con ID 1 podemos usar esto:

{if $category->id == 1}lo que sea{/if}
{if $product->id == 20}lo que sea{/if}

Pero esto es un palo, porque si tenemos 40 categorías o productos que queremos personalizar, vamos a tener un {if} como una alfombra de grande.

Me rompí los cuernos con ello, ayudado por el señor Carles de 1sis1. La solución era más simple de lo que nos pensábamos y estaba ahí 😛

La variable se llama {$smarty.get.page} y nos permite pasarle un parámetro a la URL de nuestra tienda online para identificar un cierto comportamiento, por ejemplo, http://urldetutienda.com/producto?page=mipaginapersonalizada

El condicional para personalizar el código:

{if $smarty.get.page == mipaginapersonalizada} el contenido personalizado {/if}

Una solución estupenda. Solo tenemos que pasarle a nuestros enlaces la variable ?page=loquesea y tan contentos 🙂

Tweet about this on Twitter0Share on LinkedIn0Buffer this pageEmail this to someone
1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (todavía no tiene votos)
Cargando…
6 Responses to Personalizando Prestashop e interactuando con el usuario
  1. javier Responder

    Hola Jordi,
    Me he quedado un poco igual respecto a que interactuar con el usuario, podrías ser un poco más explicito?, o al menos me he quedado un poco a medias.
    Saludos y buen trabajo.

    • jordiob Responder

      holo! me refiero a utilizar estos condicionales para mostrarle una u otra información al usuario. Por ejemplo, nosotros usamos estos condicionales en latiendadezinnia.com para mostrar un contenido u otro a los clientes según si son de ZinniaVIP o no, mostrarles unos precios u otros en función de la categoría que esté viendo el usuario (la ficha de producto es única, pero le pasamos parámetros diferentes al precio), etc

  2. Fernando Responder

    Hola. Muy interesante tu artículo.
    Mi consulta es la siguiente:
    ¿Este método que utilizas, es válido para sitio con URL amigables?
    Desde ya, gracias de antemano.

  3. Uli Responder

    ¡Gran artículo Jordi!

    Pero sigo sin ver la diferencia de usar {if $product->id == 20}lo que sea{/if} o {if $smarty.get.page == mipaginapersonalizada} el contenido personalizado {/if}.

    Si quieres modificar 20 páginas tendrás 20 condicionales en las dos formas planteadas, ¿no?

    • jordiob Responder

      sí, pero con el ID corres menos riesgo de tener un error

Deja un comentario

Your email address will not be published. Please enter your name, email and a comment.