@Nick wrote:Yes, Shopify Unite is a Partner/ developer event only. For merchants, the equivalent is an event called ShopClass which you can learn more about here.
API's
SDK's
Availability - expected release
Forum - discussion if any
Changelog - either from developers.shopify.com/changelog or changelog.shopify.com
Partner|Merchant Guide - link to the help docs guide section or relevant blog post and whether it's meant for partners or merchants
Migration Guide
Tutorial
GRAPHQL API - if relevant link to relevant api docs
Liquid - if relevant link liquid reference
Channel - if feature is constrained to certain channels
Repo - for github or similar resources
Demo
Video
Notes and Warnings - things to pay attention to for a specific feature
Sooooo sleepy now
@PaulNewton Just as an update to how Snippets will be used once the New Online Store Experience is launched- Snippets will be supported by themes moving forward. However, snippets will need to be rendered using the render Liquid tag. The deprecated include Liquid tag will not be supported in the new types of section files.
@Liam_Griffin Do you mean only snippets in new section files must use {% render %} or is that global to any theme using new section files must use {%render%} everywhere to use a snippet.
Assuming this requirement does not apply to old themes without new section files.
Not clear what happens when a theme starts to be refactored.
You're correct in the first assumption @PaulNewton So {% render 'snippet-name' %} works on all theme files to include a snippet. On the new section file types, (inside the frames, pages and content directories) the deprecated {% include %} Liquid tag will not be supported, so the {% render %} tag will need to be used. However, the {% include %} tag will work in other Liquid files (eg: sections/ templates directory). The idea here being that we want there to be backward compatibility and to allow for the easiest transition when themes are being updated. {% render %} is currently in production, and we've updated our reference docs here: https://help.shopify.com/en/themes/liquid/tags/theme-tags#render
@Liam_Griffin ty didn't realize that render change was live had been checking the liquid repo off/on but didn't notice it when it dropped last week https://developers.shopify.com/changelog/deprecating-the-include-liquid-tag-and-introducing-the-rend... so thanks for pinging this thread.
Hopefully there's more robust docs for snippet best practices and legacy support in the works that also cover the other stuff with/as/for syntax as well.
For now I'd like to put two things out there for the themes team
#1 changlogs probably should always come with a dedicated forum post linked in the changelog either in design or TechQ&A for theme stuff.
#2 Reeeeeallly over emphasize the encapsulation part of {% render %} in the help docs and repo docs. Being explicit about what variable assignment is i.e. does not affect theme settings object just applies to using variable tags , and that there is no way to set GLOBAL variables within liquid for use in a snippet called with {% render %} ?even in a layout?.
I predict if there's no aggressive admin feedback on both merchant&dev stores, similar to other categories of liquid errors, it's gonna be a really frustrating experience for coders trying to create or refactor themes getting stuck in an iteration because they can't figure out why snippets start behaving erratically or worse silently failing.
#3 The joys of refactoring -
It's not uncommon to have tons of snippets that have to set external information, e.g. modified product loop index , that wouldn't make rational sense inside a snippet often because that var is used in parent file and snippet or multiple snippets. Then there's things like "global" such as a DEBUG flag that you wouldn't want to expose to the merchant in theme settings.
So a simple find and replace from {% include %} to {% render %} isn't magic because the internal structure now needs things that were previously externally available.
So what's needed at a low level is a workflow in shifting all these lines of code between different nested files similar to line bubbling:
like this but between files
Code editors, plugins,or diff tools,etc that could show the {% include %}&{% render %} file within another file to facilitate moving lines between different files to resolve these new dependency|encapsulation issues quickly. A quick search gives no joy https://www.google.com/search?q=code+editor+move+line+between+files for standard editors, maybe VI is capable of this 🤷♂️. Bigger IDES or dedicated refactoring tools might be a bit much for most theme designers though.
Obviously not something for shopify to develop just putting it out there to start balls rolling because the more better the refactoring tooling workflow the more likely older themes are to be upgraded not because it's hard but because right now it's gonna be some really monotonous error prone copy&pasting.
That' not even counting doing a full convert of other theme file types to the newer sectioned system.
☠ Rip decrement tricks and variable snippets 😢
NNTR
Subject | Author | Posted |
---|---|---|
14m ago | ||
49m ago | ||
2 hours ago | ||
3 hours ago | ||
3 hours ago |
User | Count |
---|---|
88 | |
62 | |
61 | |
56 | |
39 |