2.0 Beta

Smootify 2.0 is in public beta. Your 1.x store keeps working. Move when you want.

What changed

Extensions

Magic Box, wishlist, last viewed, cart upsells, store locator, metaobjects, reviews and printing.

v2.0 beta
Open .md
ElementWhat it doesRequires
[box-category] (template)Attribute form of smootify-box-category.Every plan
[policy]Writes a shop policy body, in the page language, into the element.Every plan
[wishlist="count"]Shows how many items the wishlist holds (products and variants); on a wishlist page opened from a shared link, how many the shared list holds.Wishlist extension
box-itemOne line of the box, cloned from the first box-item for each picked item.Magic Box extension
empty-state (template)Shown while the box, or the metaobject list, is empty (CSS).Every plan
items-list (template)Shown while the box holds items (CSS on the box cart’s is-empty).Every plan
judge-me-reviewsJudge.me reviews widget for the product.Every plan
judge-me-starsJudge.me stars badge for the product.Every plan
klaviyo-back-in-stockKlaviyo back-in-stock form, in a dialog or popover, for the current variant.Every plan
map (template)Container the Mapbox map is drawn into.Every plan
map-marker (template)Marker template, one per location with coordinates.Every plan
print-buttonPrints the printable-element its target names.Every plan
printable-elementA region that a print-button prints alone.Every plan
smootify-box-category (template)A box category: its add-to-cart forms fill that category, the box moves to the next one. 2.0: is-complete while the box holds a piece of it, also on the .w-slide or the .w-tab-link that shows it (when every category there has one).Every plan
smootify-magic-boxBuild-a-box: the add-to-cart forms inside it add to the box instead of the cart. 2.0: its pieces stay through a reload or another page until the box goes to the cart (a week at most); the card (smootify-product) of a picked product takes is-in-box and data-in-box (how many of it); the total takes the box’s discount only once the box can be bought.Magic Box extension
smootify-magic-box-cartBox panel: picked items, counters, totals and the form that adds the whole box to the cart.Magic Box extension
smootify-metaobjectOne metaobject, written into its [metaobject] descendants. With data-handle-param the handle comes from that parameter of the page url (data-handle-param=“l” on /list?l=giulia-birthday: a link to one entry, such as one a metaobject-creator form created), before data-id and data-handle, which stay the fallback; the handle only goes to the query, never into the page. Without the parameter (and no fallback) or with an unknown handle the element is removed like any not found: a message next to it can show with :has() (.list:not(:has(smootify-metaobject)) .not-found).Every plan
smootify-metaobjectsPaged list of the metaobjects of a type, or of a product metafield. 2.0: data-type=“metafield.<ns>.<key>” with data-parent-id=“customer” lists the entries of the logged-in customer’s metafield, such as metafield.smootify.gift_list, the entries a metaobject-creator[customer-field] made for them (newest first; logged out, or none yet: is-empty; an entry deleted in the admin is skipped).Every plan
smootify-product[data-id="cart-complementary"]Card template repeated with the complementary products of the latest cart line.Cart Upsell extension
smootify-product[data-id="cart-related"]Card template repeated with the related products of the latest cart line.Cart Upsell extension
smootify-product[data-id="cart-upsell"]Alias of the cart-upsells card template (complementary and related).Cart Upsell extension
smootify-product[data-id="cart-upsells"]Card template repeated with the complementary and related products of the latest cart line.Cart Upsell extension
smootify-product[data-id="last-viewed"]Card template repeated once per recently viewed product (the first one in the page).Last Viewed extension
smootify-product[data-id="wishlist"]Card template repeated once per saved product (the first one in the page); without a smootify-variant[data-product-id=“wishlist”] also once per saved variant, as its product’s card on that variant. A page opened from a wishlist-share link (?w=) shows that list instead of the visitor’s, with body.is-shared-wishlist.Wishlist extension
smootify-variant[data-product-id="wishlist"]Variant card template (its .w-dyn-item, else itself) repeated once per saved variant (the first one in the page), with the smootify-variant markup; without a smootify-product[data-id=“wishlist”] also once per saved product, as the card of its first available variant.Wishlist extension
store-locatorShopify pickup locations on a Mapbox map, with a list filtered by a query field.Store Locator extension
store-popup (template)Popup template bound to a location, opened on a marker click.Every plan
wishlist-shareShares a link to the wishlist page (data-page, else this page) that shows the visitor’s saved products and variants to whoever opens it, no account needed (?w=: numbers for products, v + number for variants, at most 100, only ids read): the device’s share sheet where there is one, else the link is copied (data-copy: always copied). On the shared page the toggles keep working on the visitor’s own list.Wishlist extension
wishlist-toggleAdds or removes the product, or its current variant (data-use-variants), from the wishlist; inside a card of the wishlist page it works on the entry the card shows, product or variant.Wishlist extension

    ↑ ↓ to moveEnter to openEsc to close