Our Partner & Developer boards on the community are moving to a brand new home: the .dev community forums! While you can still access past discussions here, for all your future app and storefront building questions, head over to the new forums.

Managing default JSON files in the same GIT theme across different stores

Managing default JSON files in the same GIT theme across different stores

MathijsDelva
Shopify Partner
27 0 5

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? 

Replies 2 (2)

Liam
Community Manager
3108 344 904

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

MathijsDelva
Shopify Partner
27 0 5

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!