Vulnerability in EPiServer.Forms
I am trying to figure out how to make it possible to have a FAQ on each product. Basically there has to be a (not fixed) number of questions and answers on each product. It should be possible to use html in both question and answer.
Any ideas out there?
Did you want something like this list of FAQs: http://enoteca.episerver.com/en-US/Footer-Container/Support/FAQs/ to be displayed on an individual product page such as this? - http://enoteca.episerver.com/Chateau-dYquem-2.aspx
That is precisely what I am looking for.
I figure the easiest way would be to setup a LongHTMLString meta field, add to catalog metaclass, and then when editing a product/sku, add your HTML directly within the CuteEditor/TinyMCE editor.
I considered that approach but as I would like the list to be able to collaps the editors would have to remember to add the correct classes to questions and answers. So I am not certain that it would be the best solution in this case.
There may be multiple ways to go about this. Perhaps these resources may be helpful.
Here is a sample collapsible FAQ using jquery - http://www.tinymce.com/wiki.php/jQuery_Plugin
JQuery plugin for TinyMCE - http://www.tinymce.com/wiki.php/jQuery_Plugin
Here is a totally different approach. Keep the FAQ in EPiServer instead (we usally create a node outside the website called Data where we keep content that is not directly related to website pages). Here you can create different faqs (we use PageTypeBuilder ... makes it easy to create and retrieve).
Then we create a dataprovider that deliver a list the different faq instances, each faq instance has multiple faq items (children with question/answer as richtext properties). Create a webservice for the provider. Then create a custom meta field control (http://sdk.episerver.com/commerce/1.1.2/Content/Developers%20Guide/Architecture/ExtendCustomizeMetaFieldControls.htm) where you have a dropdown with data from that webservice. Save the pageid of faqinstance (actually a pageid for the page in episerver).
To display the faq on the product page, just get the children from the pageid you saved in the meta field and render it as you like. One strong advantage here is that you can ofcourse sign a single faq to multiple products (and only need to edit it in one place)
Yes .. it sounds like a lot of work ... but you will love it :)
Warning: you will be dealing with decoupled data, so a editor could potential delete the faq. Can be solved by removing delete permission for editors below the faq container.