I am currently building a CMS for web pages that cater to different currencies and countries. The text highlighted in red on these pages needs to be interchangeable depending on what the user has searched for. One part of the text will remain the same, while the other changes based on the user’s input.
For example, if a customer searches for ‘send money from UK to USA’, all the text on the page will display the two currencies mentioned. However, if a customer searches for ‘send money from UK to JPY’, the highlighted text on the page needs to reflect the change in currencies.
Considering that there are around 25-30 variations of currency pairs, creating separate pages for each pair would be time-consuming. So, I want to know if there is a way to make this work with the CMS.
With the CMS those pairs would be generated as pages, e.g.; /convert/uk-usa, or /convert/uk-jpy
In your collection page, you’d just have to design each element you want to bind as a discrete text element, and bind it to the field you want ( from currency, to currency, etc. ).
I’d do this with two CMS tables-
Currencies table, lists e.g. UK, USA, JPY, and other details, icons, art, whatever
Convert table has two singlerefs to Currencies, one representing From Currency on To Currency. This table would be the basis of your main collection page.
Thank you for your response. I’m still a bit unclear on the implementation process. Are you suggesting that I need to create separate CMS lists for each currency pair, such as UK-USA, UK-JPY, UK-EUR, and so on? how this setup would dynamically change based on the URL parameters
I didn’t see any mention of URL params.
That’s a possibility as well, however what you’re describing there is quite a different implementation.
JS to extract the URL params
Collection lists as a hidden data source on the page
Lookup the data you need
Transform your page accordingly
All custom code.
Nice setup, that’s exactly what I suggested.
In your CMS page, you just use the normal data-binding feature, you’ll see your single refs and the fields within them as part of your binding options.