0
votes

I'm about to take on my first shopify project where I will need to modify certain theme markup (for WCAG accessibility purposes).

Having never worked on Shopify before, I'm reading their documentation and theme editing using liquid seems fairly straightforward. However, someone warned me that modifying theme markup can sometimes break core functionality like the checkout process or something similar if/when shopify requires a certain specific markup to be present.

This would force me to opt for DOM manipulation with Javascript, instead of modifying template files - which is not a great way to go about it in my opinion.

Out-of-the box, do shopify functions depend on the markup in any way? I suppose anything's that written in Ruby should not be affected. Perhaps there would be JS that expects a specific DOM interaction. If anyone has run into similar issues, or can make any constructive suggestions, I would really appreciate it.

1

1 Answers

2
votes

You can't break any Back-end functionality of Shopify if you modify the markup.

The purpose of the liquid is only to output some content, it can't modify the back-end in any way or form.

You can say that it's a glorified HTML markup with a few bells and whistles. ( but it loads before the DOM is ready )

In addition you don't have access to the checkout template if you are not on a Shopify Plus account, so it's really hard to even try to break something there.


That said you can break some base front-end functionality if you delete some items.

For example the product form needs to have an form element with an name="id" and value of the variant.id. If you remove that the product will not submit to the cart and you won't be able to use the checkout since you will never be able to add the product to the cart.

So yes you can break front-end functionality but you can't NEVER break the back-end logic with Liquid only.