¿Qué es el settings.txt?
settings.txt
de Tiendanube utiliza un lenguaje de configuración propietario específico de la plataforma. No es un
lenguaje de programación estándar, sino un formato de configuración estructurado creado
por Tiendanube para definir las opciones del panel administrativo de los temas con
características de estructura jerárquica.
Estructura básica:
Título da Sección
meta
icon = nombre-del-icono
advanced = false
color
name = nombre_de_la_variable
description = Descripción para el usuario
Tipos de campos disponibles
color
Selector de colores
font
Selección de fuentes
checkbox
Casillas de selección
dropdown
Listas desplegables
image
Carga de imágenes
gallery
Galería de imágenes
i18n_input
Campos de texto multilingüe
range_number
Controles deslizantes
textarea
Áreas de texto
css_code
Editor de CSS
text
Campo de texto simple
menu
Selección de menús
section_order
Ordenación de secciones
Propiedades básicas
name
y
description
, donde:
name
es la "clave" de acceso vía Twig
description
es el "label" del input que el comerciante personalizará vía panel
Ejemplo:
color
name = background_color
description = Color de fondo
Recuperando el valor en Twig:
Configurando el archivo settings.txt
Estructura inicial
El primer punto importante para iniciar la personalización del archivo settings es encontrar el lugar más intuitivo para añadir las nuevas personalizaciones. Por defecto, Tiendanube ya organiza por página y componentes más amplios como Encabezado y Pie de página.

Secciones principales
Podemos ver la estructura inicial donde las secciones están en el primer nivel de jerarquía (tab) del archivo. Las llamaremos "Secciones principales" y recorreremos cada sección para entender los tipos disponibles y los estándares a seguir.
Estándar importante
El "nombre" de la sección que informamos en settings.txt será el nombre exhibido en el panel.
Internacionalización
Tiendanube utiliza i18n para los idiomas PT, ES y EN. En el ejemplo, el settings está escrito en español, pero en el panel demo (BR) está en portugués. Entiende cómo realizar las traducciones del archivo translations.txt aquí.
Sección de Colores

Configuración META
En esta primera etapa ya podemos ver algunos estándares como meta
, que debemos informar justo después
de la sección principal. Siguiendo la jerarquía, todo contenido debajo que tenga una
"tab" más, Tiendanube interpretará que pertenece a la sección principal anterior.
La subsección META generalmente tiene dos configuraciones:
ICON (text)
ADVANCED (boolean)
Solo en la sección de la página inicial tenemos también el DEFAULT.
Ejemplo de configuración META:
meta
icon = paint-brush
advanced = false
Consejo sobre ADVANCED
- Marca
advanced = false
para exhibir la sección principal en la parte inicial (IMAGEN DE TU MARCA) - Marca
advanced = true
para entrar en CONFIGURACIONES AVANZADAS
Configuración de Colores
Luego, después de meta empiezan las configuraciones que el comerciante personalizará. En este ejemplo seguimos con tres tipos de COLORES: Color de Fondo, Color de Textos y Color de Destacado, todas siguiendo el mismo patrón:
color # TIPO INDICANDO QUE ES UNO COLOR
name = background_color # CLAVE QUE SERÁ UTILIZADA EN TWIG/TPL
description = Color de fondo # LABEL DEL CAMPO PARA EL COMERCIANTE
Subtítulo
subtitle = valor
. Ese valor se
exhibe como un subtítulo en el panel, en este caso usado para un informativo.
Ejemplo:
subtitle
subtitle = <div class='js-color-description'>Aplica a textos de descuento, envío gratis y cuotas sin interés.</div>
Elementos HTML
Un punto importante es el uso de algunos elementos HTML (no todo está permitido) en los valores asignados a títulos, subtítulos y descripciones. Un consejo es usarlos para resaltar algún tipo de información, ej.: ¡Atención!
Collapse
Ejemplo:
collapse
title = Botón principal
Al utilizar collapse, todo el contenido debajo de él quedará agrupado en una nueva
sidebar, que se abrirá al hacer clic, y posee solo un valor: title
.

Importante sobre Collapse
Siempre agrupará el contenido debajo de él (del mismo nivel de jerarquía) hasta encontrar un nuevo collapse. Es decir, si al inicio de la sección agregas un collapse, todo el contenido debajo hasta el segundo collapse quedará agrupado.
Tipo de letra

TITLE
El tipo TITLE, así como SUBTITLE, tiene solo el propio title como atributo:
title
title = Títulos
FONT
El tipo FONT tiene name y description como los demás, y también tiene VALUES. Para facilitar la comprensión, comparemos VALUES como si fueran las opciones de un SELECT HTML, donde tenemos el VALUE (valor) seguido del label tras el signo igual (=).
Ejemplo:
font
name = font_headings
title = Fuentes para títulos
description = Fuente
values
"Almarai", sans-serif = Almarai
"Archivo", sans-serif = Archivo
"Archivo Black", sans-serif = Archivo Black
Equivalente en HTML:
<label>Fonte</label>
<select name="font_headings">
<option value='"Almarai", sans-serif'>Almarai</option>
<option value='"Archivo", sans-serif'>Archivo</option>
<option value='"Archivo Black", sans-serif'>Archivo Black</option>
</select>
RANGE_NUMBER
Luego viene RANGE_NUMBER, donde se forma la barra entre un valor mínimo y máximo, del tipo numérico. Como los demás, tiene name y description seguido por los valores min y max.
range_number
name = headings_size
description = Tamaño
min = 28
max = 48

Sección Encabezado
CHECKBOX
El tipo CHECKBOX es más simple comparado con DROPDOWN. Seguimos con los mismos campos name y description únicamente.
checkbox
name = header_colors
description = Usar estos colores para el encabezado
DROPDOWN
En cambio, DROPDOWN, así como FONTS, es un selector de opciones, también un SELECT HTML, con name, description y values, siguiendo la misma regla de fonts, donde tenemos value = label.
dropdown
name = logo_size
description = Tamaño del logo
values
small = Chico
medium = Mediano
big = Grande

Encabezado en celulares
IMAGE
Podemos ver dos componentes del tipo IMAGE: uno solo con name y description (configuración básica para funcionar) y en el segundo tenemos dos configuraciones, WIDTH y HEIGHT. Cuando se informa, en el panel se inserta una etiqueta de "sugerencias" de tamaño, ayudando al comerciante con el formato ideal.
Configuración básica:
image
original = logo-transparent.jpg
title = Logo alternativo (opcional)
Con dimensiones sugeridas:
image
original = menu_banner_mobile.jpg
title = Cargar imagen (JPG, GIF, PNG)
width = 820
height = 175
I18N_INPUT
En el tipo I18N_INPUT tenemos el tradicional input del tipo TEXT, pero tiene en cuenta los idiomas configurados en la tienda. En este caso tenemos BR y AR, por lo que se insertan dos inputs para que el comerciante informe el valor para cada idioma.
Control automático de idiomas
El control en twig/tpl es de la propia Tiendanube. Esto significa que:
settings.menu_banner_mobile_url
tendrá el valor A si se accede al entorno BR y el valor B (si
se completó) si se accede al entorno AR.
i18n_input
name = menu_banner_mobile_url
description = Link

Página inicial
Configuración para ordenación dinámica
Para que esto funcione, debemos seguir algunos estándares. Dentro de META, además de icon y advanced tenemos default. Ese valor es la clave del TIPO SECTION_ORDER que encontramos al final de la sección principal. Esta sección es responsable de informar los collapses que forman el drag-and-drop, y cada collapse también tiene el valor BACKTO que también indica el home_order_position.
Página de inicio
meta
icon = home
advanced = true
default = home_order_position
collapse
title = Carrusel de imágenes
backto = home_order_position
...
collapse
title = Información de envíos, pagos y compra
backto = home_order_position
...
section_order
name = home_order_position
start_index = 1
sections
slider = Carrusel de imágenes
main_categories = Categorías principales
products = Productos destacados
...
GALLERY
gallery
name = banner_mobile
gallery_image = Agregar imagen
gallery_link = [Opcional] Página web a la que quieres que te lleve la imagen al hacer click
gallery_width = 820
gallery_height = 1000
gallery_more_info = true
Información adicional de la galería
Al hacer clic en "editar", cada imagen se mostrará con: Enlace al hacer clic en la imagen + Título + Descripción + Botón + Color y todo en i18n.
Otros tipos de campos
TEXT
Donde text genera un INPUT HTML simple. En este caso tenemos la opción de informar también el placeholder.
text
name = cart_minimum_value
description = ¿Cuál es el monto mínimo que tus clientes deben gastar?
placeholder = Ej.: 3000
TEXTAREA y CSS_CODE
Donde textarea y css_code generan un TEXTAREA HTML. La diferencia entre ellos es que css_code trae una formatação orientada a códigos CSS, mientras que textarea viene en el formato estándar y con capacidad de hasta 5 mil caracteres.
TEXTAREA:
textarea
name = about_store
description = Texto sobre la tienda
CSS_CODE:
css_code
name = css_code
description = Acá podes escribir código CSS para que se muestre en tu tienda
MENU
En cuanto a menu, aunque simple, es muy importante, pues lista las opciones de menús creados por el comerciante, posibilitando dejar flexible qué menú creado por el comerciante se exhibirá en el lugar deseado.
menu
name = footer_menu
description = ¿Qué menú vas a mostrar al final de la página?