Integrating Smart Wishlist with Langify

Smart Wishlist has currently limited support for multilingual/multi-locale stores. However developers can use a workaround to get a multilingual wishlist.

Our default Wishlist page is an app proxy page and Shopify currently doesn’t support locale specific app proxy pages. For e.g. when the user visits “/a/wishlist”, Shopify forwards the request to our app to display the contents. But if the user visits “/fr/a/wishlist”, Shopify doesn’t forward the request to our app and rather returns a 404 error page.

NOTE: Shopify has hinted that they are going to roll out support for locale specific app proxy pages soon. Once this is rolled out, these steps would no longer be required.

If your store uses using Langify for managing translations on your store, it may require following steps in order to fix the problem caused by locale specific wishlist page URLs.

1. Automatic Link Correction.

If you have enabled this feature in Langify, then it inserts locale (for e.g. /fr/) to every URL present on the page. Therefore the path “/a/wishlist” in every URL on a page is automatically replaced by “/fr/a/wishlist. As of now such URLs are invalid and therefore must be corrected.

  1. Visit the below location in Shopify Admin:

    Apps => Langify => Theme Settings => Advanced Settings
  2. Add the wishlist path /a/wishlist as an exception in it and save the changes. If your wishlist path is different, then add that path as an exception.

2. Fixing 404 pages.

If a user is on the Wishlist page of the store and clicks the language switcher, he/she lands on locale specific wishlist pages like /fr/a/wishlist, which displays “404 page not found” error.

In order to automatically redirect such users to the correct wishlist page URL (/a/wishlist), the following JS code needs to be added to the theme.

if(/[a-z]+\/a\/wishlist/.test(location.href)) location.href="/a/wishlist";

Leave a Reply

Your email address will not be published.