Ir al contenido

Contratos data-store

Los atributos data-store identifican elementos canónicos de la tienda para aplicaciones que no usan Nube SDK: selectores DOM estables entre versiones patch del tema.

<h1 data-store="product-name-{{ product.id }}">…</h1>
<div data-store="product-price-{{ product.id }}">…</div>
<input type="submit" data-store="product-buy-button" … />
<div data-store="cart-item-{{ item.product.id }}">…</div>
<div {{ block | block_attributes }} data-store="heading-block-{{ block.id }}">
  1. No eliminar atributos data-store existentes.
  2. Si envuelves un nodo, mantén el atributo en el elemento original.
  3. Nuevos hooks: lower-kebab-case + id de la entidad cuando corresponda.
  4. data-component (cuando existe) sigue las mismas reglas.

Contrato con theme/static/js/store.js: renombrarlas rompe el comportamiento sin un error visible. Trata js-* con el mismo cuidado que data-store.