Dedicated to the Hydrogen framework, headless commerce, and building custom storefronts using the Storefront API.
I'm struggling with the following scenario:
- I have one theme, using GIT integration
- I have multiple plus stores for the same brand, for each locale/language
- I can translate all repo files using the normal locale/**.json and translation string logic
- Brand managers can create content pages for each store using the theme customiser and sections, which in their turn create page.xxx.json files in the live theme, which in my turn i pull using the theme:pull feature so they are added to the repo
- The pages will always be locale-unique, meaning we would have something like page.landingpage-uk.json, page.landingpage-it.json, ... which means they can just sit safely next to each other in the templates folder
So far so good. But, here the problem comes in: what about the uniquely-named shared default files like index.json, product.json, ... If these files are being edited using the theme customiser, they are overwritten with the language/locale from the store where it was just edited in. That means there would need to be a index-de.json, index-uk.json, index-it.json, .. which is of course not allowed nor possible as Shopify only expects index.json.
I thought about using the 'context' feature (described here: https://help.shopify.com/en/manual/online-store/themes/customizing-themes/store-contextualization) but after a talk with Shopify Plus Support, it appears these context specific versions of a page will only show based on a geolocation app (meaning, index.context.[markethandle].json would only be served if the visitor is located in France). So that's not an option.
In short: how do i serve locale-specific shopify-unique JSON page templates like index.json across multiple stores using the same connected GIT theme?
Hi MathijsDelva,
The native GitHub Integration is primarily built for managing safe theme deployments to a single store, although some devs have implemented workflows that allow for scenarios where themes are different, using conditions and GitHub workflows - as in this forum post and this blog post.
There are also some community built tools like Shopkeeper that may help with your setup.
Hope the above helps!
Liam | Developer Advocate @ Shopify
- Was my reply helpful? Click Like to let me know!
- Was your question answered? Mark it as an Accepted Solution
- To learn more visit Shopify.dev or the Shopify Web Design and Development Blog
Hi Liam, thank you for your reply. The forum & blog posts gave me some insights, but i feel that's quite dangerous terrain and also a lot of configuration to just to safeguard a few different versions of JSON data. I would really like some better support and insights from within the Shopify Dev Front-end team on this issue, as i feel this is something quite basic to support out of the box. Thanks for your reply Liam!