Skip to content

Developer notes

Item Value
Add-on id kv_theme_ledger
Theme kv_ledger (child of responsive), installed from var/themes_repository/kv_ledger
Built with Kavio theme kit 1.x (kv-files.json in the theme lists every file with its hash and the kit version)
CSS prefix lg- (theme), kv- (kit)
  • design/themes/kv_ledger/css/kit/{fonts,base,features,addons}.less (kit layer), css/skin/skin.less (Ledger), styles/data/{Paper,Blueprint,Night,Riso}.less (styles).
  • Templates: common/styles.tpl (loads the theme stylesheet only while the add-on enables the design), blocks/menu/kv_mega.tpl, blocks/wrappers/kv_gate.tpl, hook files in templates/addons/kv_theme_ledger/hooks/index/ and a few Bright static templates the layout uses. Core and add-on templates are not overridden, so add-on hooks keep working.
  • Add-on: Tygh/Addons/KvThemeLedger/Theme/Kit.php (install, licence gate, admin notice, upgrade refresh), License/ (licence client), Upgrade/Synchronizer.php, js/addons/kv_theme_ledger/kit.js (“More” menu, sticky header, mobile bar, hover image, reveal), schemas/block_manager/{block_cache_properties,templates}.post.php.
Hook Use
before_dispatch (storefront) assigns $kv_theme (theme, settings, data-kvt tokens) while the add-on is enabled, the storefront runs kv_ledger and the licence is active
dispatch_before_display (admin) notice while a storefront uses the theme and the design is off; status on Website → Themes
update_addon_status_post warning when the add-on is disabled while a storefront uses the theme
Template index:html_tag, index:scripts data-kvt attribute, kit.js
Block cache callable_handlers.kv_theme_ledger = licence and settings state

Full page cache (4.21): the theme prints nothing visitor-specific; cart and account data come from the core blocks.

Use a child theme or the Theme editor’s custom CSS. Upgrades replace only theme files you have not changed. Design tokens are LESS variables (@kv_*, @lg_*) set by each style file.