Adds a Glossary section to CMS admin where glossary terms can be defined. These terms can then be added to content via the WYSIWYG and the definitions will be rendered as interactive rollovers within webpage content.
Thanks to @MelissaWu-SS for writing the code that was the basis for this module
version ^1
- Silverstripe ^5
version ^0.2
- Silverstripe ^4.0
- PHP ^7.3
composer require heyday/silverstripe-glossary
After running composer run the usual vendor/bin/sake dev/build
This will add the Glossary section to the CMS admin:
Here we can add glossary terms via standard gridfield. I've added some sample data in this example:
Now, we can add these terms to our WYSIWG markup. Select the word you'd like to apply the definition to, click the "Glossary" button, and choose the appropriate definition:
And finally here is the marked up content on a webpage (displayed at cursor hover state):
NB. With the release of v0.2.0 the Definition field on GlossaryTerms was changed from Varchar to HTMLText. The simple CSS only frontend implementation renders this as plaintext (in order to be rendered within span tags) so no markup will be carried to the frontend.
This module comes with a very basic frontend implementation out of the box and you'll likely want to change this to match your application. You may opt to keep the purely CSS rollover functionality and write some new CSS for the classes .inline-glossary-term
and .inline-glossary-definition
.
Alternatively you can overload the template at TheSceneman\SilverStripeGlossary\View\GlossaryShortcodeProvider.ss
and use whatever markup and or Javascript components you'd like.
- Melissa Wu melissa.wu@silverstripe.com
- Adrian Jimson adrian.jimson@silverstripe.com
If you would like to make contributions to the module please ensure you raise a pull request and discuss with the module maintainers.