1

I have an Expresso Store site that I need to be able to process orders in multiple currencies. My approach is going to be to split the site out into an MSM site. The original site will process orders through Store in USD. The second MSM site will process orders through Store in EUR. With MSM, each site can have it's own Store settings, which makes this possible. At least to my knowledge.

Each site will have identical content, pages, products, etc. The only difference will be the display of the price and the currency used throughout the checkout process. My plan for the EUR site is to have a single products channel, with a Store custom field where I can specify the product price and inventory for the EUR version of the product. Then a Playa field that relates to the USD store version of the product, where I can pull in the rest of the product information, like images and details.

Since I need to share so much of the same information, content, and code across sites, what is the best way to setup my EE templates? Is there a way I can effectively use the same template set for both sites? I know I can embed templates from one site into another, but that gets a little messy with template layouts, embeds, partials, etc. Or am I better off just duplicating the templates for the second site and maintaining two separate, but mostly identical template code bases?

1 Answer 1

1

If you have SSH access to the server you can use symlinks to share templates across sites.

Something like this...

/var/www/main_site/templates (Templates live here)
/var/www/site1/templates --> /var/www/main_site/templates
/var/www/site2/templates --> /var/www/main_site/templates

Of course, this means the exact same template file needs to work for any of your sub-sites. You might use global variables or Low Variables to handle the per-site customization.

We have used this approach for a network of 200+ sites all running from one of five EE installs that all have identical templates. (It's a nation-wide nonprofit with lots of local chapters.)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.