Contratos data-store
Propósito
Sección titulada «Propósito»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.
Ejemplos
Sección titulada «Ejemplos»<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>Bloques del editor
Sección titulada «Bloques del editor»<div {{ block | block_attributes }} data-store="heading-block-{{ block.id }}">- No eliminar atributos
data-storeexistentes. - Si envuelves un nodo, mantén el atributo en el elemento original.
- Nuevos hooks: lower-kebab-case + id de la entidad cuando corresponda.
data-component(cuando existe) sigue las mismas reglas.
Clases js-*
Sección titulada «Clases js-*»Contrato con theme/static/js/store.js: renombrarlas rompe el comportamiento sin un error visible. Trata js-* con el mismo cuidado que data-store.