Button Nav works with Concrete CMS core versions from v8.0 and above. Button Nav is designed to work with bootstrap based themes, but can be adapted to work with other themes.
The mechanisms that Button Nav uses to associate button design with blocks and block templates was introduced in the Concrete CMS core version v8.4.0.
For earlier core versions before v8.4.0, Button Nav provides a fallback mechanism that has some minor limitations. With older Concrete CMS core versions, it is recommended to save the page edit between selecting a Button Nav block template or editing block design and using the Button Design menu, otherwise button designs can sometimes become mislaid.
If in doubt, please contact me through Concrete CMS marketplace support and I can advise you of compatibility with your theme and core version.
When all caching is enabled, some hignly cached blocks such as Autonav may not load the required assets from their block views. To compensate, when caching is enabled, Button Nav will load the assets from on_start in the package controller.
This processing is normally optimized to only load assets on pages where Button Nav is used. If you use Button Nav in a global area or on nearly every page, this optimization is superfluous and it will be better to load Button Nav assets regardless. To do so in /application/config/ set jl_button_nav.asset.optimize_when_cached => false.
Whilst any block can be used in a stack with Button Nav, if you have many uses of a block with Button Nav, it can be more convenient to create a block specific template.
The mechanisms button nav uses can be built as a wrapper within other block templates. Button Nav associates with block templates through the template name, so Button Nav will add itself to a block edit menu for any template file that begins 'button_nav_'. Additional keywords in the template name are used to load further Button Nav dialog elements:
The simplest example is to compare templates for the core Content block and see how the default template has been extended by the respective Button Nav templates. A similar design pattern can be used to create templates for any block.
For advanced use, Button Nav has configuration values: