Nueva funcionalidad. Añadiendo información adicional a productos, páginas y posts

Escrito el 02.04.2009 en Noticias por Jose M. Carbonell

A veces necesitamos dotar a nuestros artículos, páginas o productos de más información de la que 3sellers nos deja introducir como, por ejemplo, la descripción de una página, el autor de un artículo, o una lista de enlaces a los cuales hace referencia un determinado artículo, página o producto. Por esta razón, a partir de ahora 3Sellers dispone de campos personalizados.

Estos campos personalizados pueden crearse de forma muy sencilla. En la sección de nuevo producto, nueva página y nuevo post encontraréis un desplegable desde el cual podréis introducir pares de clave - valor.
La clave será el nombre del campo personalizado y el valor su contenido.

Por ejemplo, para el autor de un artículo:

Ejemplo campos personalizados para autor

Se pueden añadir tantos campos como se quieran, incluso repetirse si queremos que varios campos se llamen igual. Estos campos serán guardados automáticamente cuando guardemos el artículo y la próxima vez que creemos o editemos un artículo, página o producto, 3Sellers nos recordará los campos creados para poder seleccionarlo cómodamente en un desplegable:

Ejemplo campos personalizados desplegable

Estos campos pueden usarse en plantillas liquid usando el metodo "fields" (en cualquier drop que acepte los campos personalizados) el cual nos devolverá un hash de los campos personalizados con lo que podremos acceder al valor de los campos a traves de su clave.

Usando el ejemplo anterior, para acceder a campo 'autor', bastaría con hacer:

{{post.fields.autor}}

Resultado:

Jose M. Carbonell
Representacion interna: ["Jose M. Carbonell"]

Es importante saber que internamente estamos manejando un array y, aunque liquid traduce los arrays a cadenas a la hora de mostrar los resultados en html, si queremos enviar el resultado a un filtro que manipule cadenas deberemos extraer el elemento del array:

{{post.fields.autor.first | capitalize}}

En caso de incluir campos personalizados con la misma clave, por ejemplo 2 autores, lo anterior nos devolveria un array con los 2 autores:

{% for autor in post.fields.autores %}
{{autor}}
{% endfor %}

Resultado:

Jose M. Carbonell
Juan Carlos Rodríguez
Representacion interna: ["Jose M. Carbonell", "Juan Carlos Rodríguez"]

Gracias a esta funcionalidad, las posibilidades de 3Sellers son casi infinitas. Desde añadir autores a introducir varias tarifas de precios en productos!!