¿Qué es un metaobjeto de Shopify?
Un metaobjeto de Shopify es un tipo de registro personalizado, con varios campos, que el comercio o una aplicación define para guardar datos estructurados que no pertenecen a ningún recurso estándar de la tienda, como una guía de tallas o el perfil de un diseñador. Un metaobjeto de Shopify se crea una vez y se reutiliza: cada producto lo enlaza con un metafield de referencia.
Lo esencial
- Un metaobjeto es un tipo de dato nuevo con varios campos; un metafield es un campo más dentro de un recurso que ya existe.
- Tiene dos partes: la definición, que fija los campos y sus tipos, y las entradas, que son cada registro concreto.
- Un producto lo enlaza con un metafield de tipo referencia, así que una misma entrada sirve para muchas fichas y se corrige en un solo sitio.
- Por defecto, una definición no es legible desde el escaparate, y con la capacidad de publicación una entrada en borrador no se imprime.
- Con las capacidades adecuadas, un metaobjeto puede tener su propia página en la tienda, con título y meta description para buscadores.
Imagina una tienda de ropa con cincuenta camisetas que comparten la misma guía de tallas. Si la guía se guarda dentro de cada producto, hay cincuenta copias, y el día que cambia una medida hay que corregir cincuenta fichas y confiar en no olvidarse de ninguna. Un metaobjeto de Shopify resuelve eso: la guía se guarda una vez, como un registro propio, y cada camiseta la enlaza. Te importa porque decide cuánto cuesta mantener al día los datos que se repiten en tu catálogo, y porque un dato que se mantiene en un solo sitio tiene menos ocasiones de quedarse desfasado en una ficha.
Cómo funciona
Shopify presenta los metaobjetos como estructuras de datos personalizadas con varios campos relacionados. A diferencia de los metafields, que añaden un campo suelto a un recurso que ya existe, un metaobjeto es un tipo de dato nuevo que se puede referenciar desde cualquier parte de la tienda. La regla de Shopify es corta: metaobjetos para los datos complejos de varios campos, metafields para un campo suelto.[1]Shopify.dev. Metaobjects Como ejemplos, su documentación para desarrolladores cita guías de tallas, perfiles de autor, listas de ingredientes e información de garantía,[1]Shopify.dev. Metaobjects y su centro de ayuda añade los puntos fuertes de un producto con icono, título y descripción, perfiles de influencers, preguntas frecuentes y apariciones en eventos.[2]Centro de ayuda de Shopify. Metaobjects
Un metaobjeto tiene dos partes:
| Parte | Qué es | Dónde se gestiona |
|---|---|---|
| Definición | La estructura: el tipo, los campos con su tipo de dato y sus validaciones, los permisos de acceso y el campo que da nombre a cada entrada | En los ajustes de datos personalizados |
| Entradas | Cada registro concreto, con su identificador, su handle, su nombre visible y el valor de cada campo | En Contenido › Metaobjetos |
Las dos partes y sus ubicaciones son las que describe Shopify.[1]Shopify.dev. Metaobjects[2]Centro de ayuda de Shopify. Metaobjects Igual que con los metafields, el prefijo dice de quién es el dato: las definiciones de una aplicación usan el prefijo reservado $app, las del comercio usan prefijos no reservados como custom, y Shopify mantiene las suyas. Y hay un permiso que conviene mirar el primer día: el acceso desde el escaparate es none por defecto, y hay que abrirlo con public_read para leer las entradas desde fuera del panel.[1]Shopify.dev. Metaobjects
Cómo se enlaza a un producto
Un producto no contiene el metaobjeto: lo apunta con un metafield de tipo referencia. Shopify ofrece tres tipos:[3]Shopify.dev. List of data types
| Tipo de metafield | A qué apunta |
|---|---|
metaobject_reference |
Una entrada. Con una validación se fija de qué definición tiene que ser |
list.metaobject_reference |
Una o varias entradas, todas de la misma definición |
mixed_reference |
Una entrada que puede ser de definiciones distintas |
Además, una definición puede activar capacidades que cambian su comportamiento. Publicable permite poner cada entrada en borrador o activa; traducible abre las entradas a las herramientas de traducción de Shopify; renderizable expone campos de SEO a Liquid y a la Storefront API e incluye las entradas en el sitemap de la tienda; y tienda online asigna a las entradas una plantilla del tema y una URL propia.[4]Shopify.dev. Use metaobject capabilities Con esas dos últimas, un metaobjeto deja de ser solo un dato y se convierte en una página: Shopify lo plantea para crear páginas de aterrizaje repetibles, como la de cada embajador de una marca, y deja elegir qué campos forman el título de la página y la meta description.[5]Centro de ayuda de Shopify. Metaobject webpages
En una tienda
Ejemplo ficticio. La tienda de ropa crea una definición guia_tallas con tres campos: nombre (texto de una línea), tabla (texto de varias líneas) y consejo (texto de una línea). Crea una entrada, «Camisetas de algodón», y en cada camiseta rellena un metafield de producto, custom.guia_tallas, de tipo metaobject_reference. La sección de producto del tema lo imprime así:
{% assign guia = product.metafields.custom.guia_tallas.value %}
{% if guia %}
<h2>{{ guia.nombre.value }}</h2>
<p>{{ guia.consejo.value }}</p>
{% endif %}
En Liquid, cada campo de un metaobjeto se lee con su clave y su valor, como en metaobjects['highlights']['washable'].image.value.[6]Shopify.dev. Liquid objects: metaobject Para un caso sencillo hay atajo: el filtro metafield_text admite referencias a metaobjetos con un parámetro field obligatorio, que solo puede apuntar a un campo de texto de una línea.[7]Shopify.dev. Liquid filters: metafield_text Lo que cambia frente a guardar la guía en cada producto se ve en una tabla:
| Con la guía de tallas en… (ejemplo ficticio) | Copias de la guía | Para corregir una medida |
|---|---|---|
| Un metafield de texto en cada camiseta | Una por camiseta | Editar cada camiseta, una por una |
| Un metaobjeto enlazado desde cada camiseta | Una para todas | Editar la entrada una sola vez |
Lo que se suele confundir
Crear la entrada no la publica. Para que llegue a una ficha hacen falta tres cosas: un metafield de referencia en el producto que apunte a ella, una plantilla del tema que la lea y, si la definición tiene la capacidad de publicación, que la entrada esté activa: una entrada en borrador devuelve nil en Liquid, así que la ficha no imprime nada y tampoco da error.[6]Shopify.dev. Liquid objects: metaobject[4]Shopify.dev. Use metaobject capabilities
Cómo comprobarlo
- Abre la definición en los ajustes de datos personalizados: anota su tipo, sus campos y si el acceso desde el escaparate está abierto.[1]Shopify.dev. Metaobjects[2]Centro de ayuda de Shopify. Metaobjects
- Abre la entrada en Contenido › Metaobjetos y comprueba sus valores y, si la definición es publicable, que su estado sea activo.[4]Shopify.dev. Use metaobject capabilities
- Abre un producto y mira que su metafield de referencia apunta a esa entrada y no a otra de la misma definición.[3]Shopify.dev. List of data types
- Busca en el tema el espacio de nombres y la clave del metafield, o el bloque conectado a él desde el editor de temas. Si nada los lee, el dato está guardado pero no se publica.
- Abre el código fuente de la ficha (no el inspector) y busca un valor de la entrada. Si aparece, viaja en el HTML inicial; si no, vuelve al paso que falló.
Concepto cercano: metafields
Un metafield amplía un recurso que ya existe, como un producto, con un campo más; un metaobjeto es un tipo de registro propio con varios campos que no pertenece a ningún recurso.[1]Shopify.dev. Metaobjects No compiten: trabajan juntos, porque el metafield de referencia es el puente entre el producto y la entrada del metaobjeto.[3]Shopify.dev. List of data types
Para seguir, la guía del metafield a la página publicada sigue un dato de Shopify hasta el HTML de la ficha, y la ruta de lectura de publicación por plataforma ordena el resto de términos.
Sinónimos
- English
- Shopify metaobject, metaobject
- Español
- metaobjeto, metaobjetos de Shopify
Fuentes
- [1] Shopify.dev. Metaobjects. Consultado el . ↑ ↑ ↑ ↑ ↑ ↑
- [2] Centro de ayuda de Shopify. Metaobjects. Consultado el . ↑ ↑ ↑
- [3] Shopify.dev. List of data types. Consultado el . ↑ ↑ ↑
- [4] Shopify.dev. Use metaobject capabilities. Consultado el . ↑ ↑ ↑
- [5] Centro de ayuda de Shopify. Metaobject webpages. Consultado el . ↑
- [6] Shopify.dev. Liquid objects: metaobject. Consultado el . ↑ ↑
- [7] Shopify.dev. Liquid filters: metafield_text. Consultado el . ↑
Historial de cambios
- Primera versión.
Esta definición se publica bajo licencia CC BY 4.0. Puedes reutilizar esta definición citando a Clione con un enlace a esta página.
Términos relacionados
Metafields
Qué son los metafields de Shopify, de qué partes constan, cómo llegan del panel al HTML de la ficha y cómo comprobar que tu tema los publica.
Liquid
Qué es Liquid, el lenguaje de plantillas de Shopify: objetos, etiquetas y filtros, cómo escribe en el servidor los datos de tu ficha y cómo comprobarlo.
App embed de Shopify
Qué es un app embed de Shopify, en qué se diferencia de un app block, por qué viene desactivado tras instalar la app y cómo comprobar que funciona.
Custom fields
Qué son los custom fields de BigCommerce, sus límites (200 por producto), cómo los pinta un tema Stencil y en qué se diferencian de los metafields.
Sobrescritura de campos
Qué es la sobrescritura de campos: cuando una app, un PIM o una sincronización pisa un dato de producto que escribió otro sistema, y cómo detectarla.
Versionado de contenido
Qué es el versionado de contenido, en qué se distinguen historial, borrador y versión publicada, y cómo comprobar que puedes volver atrás en tu tienda.
Haz que los bots entiendan tu catálogo
Clione completa cada ficha de producto con lo que los bots leen mejor: el grafo JSON-LD con sus datos estructurados, la meta description y las preguntas frecuentes. Tú revisas y pulsas Push; después comprobamos tu tienda en vivo para que todo siga publicado.