I built a custom extension for my Magento store that allows customers to submit feedback and reviews. Right now users can only enter plain text in a basic textarea field.
I want to upgrade this to include a rich text editor so people can format their comments with bold text, links, lists and other basic formatting options. I need something that works on the frontend side of the website.
Can someone point me in the right direction? I’m looking for a straightforward approach to add this functionality. What would be the easiest way to implement a text editor with standard formatting tools in a frontend form?
Any code examples or step-by-step guidance would be really helpful since I’m not sure which editor to use or how to properly integrate it with Magento’s frontend architecture.
have you considered summernote? it’s super lightweight compared to the others mentioned here. what kind of formatting features are you thinking customers actually need tho? sometimes less is more for user-generated content - might be worth testing what your users really want before going full wysiwyg?
CKEditor has served me well for similar frontend implementations in Magento. Unlike TinyMCE which requires more configuration, CKEditor offers better mobile responsiveness and cleaner output for customer-facing forms. You can include it via CDN in your template and initialize it with minimal JavaScript. The key advantage is that CKEditor handles cross-browser compatibility issues more gracefully, which becomes crucial when dealing with diverse customer environments. For your feedback module, you would add the script reference in your block template, then target your textarea with a simple configuration object that limits formatting options to what you actually need. This approach keeps the implementation lightweight while providing customers with essential formatting capabilities without overwhelming them with unnecessary features.
i think tinymce is the way to go! Magento’s admin has it ready to use, so u just need to set it up on the frontend. you can use requirejs to load it in your template and link it to your textarea. pretty simple setup, really.