Developer notes
| Item | Value |
|---|---|
| Add-on id | kv_theme_bazaar |
| Theme | kv_bazaar (child of responsive), installed from var/themes_repository/kv_bazaar |
| 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 | bz- (theme), kv- (kit) |
design/themes/kv_bazaar/css/kit/{fonts,base,features,addons}.less(kit layer),css/skin/skin.less(Bazaar),styles/data/{Cobalt,Market,Midnight,Fresh}.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,blocks/wrappers/kv_bz_store.tpl(vendor banner around the Vendor logo block),blocks/vendor_list_templates/kv_shop_cards.tpl,blocks/products/kv_bz_grid.tpl, hook files intemplates/addons/kv_theme_bazaar/hooks/(index/html_tag,index/scripts,products/list_price_block.pre= card chip,companies/product_company_data.pre= chip on the product page and cart lines,products/view_main_info.post= seller box) 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/KvThemeBazaar/Theme/Kit.php(install, licence gate, admin notice, upgrade refresh),License/(licence client),Upgrade/Synchronizer.php,js/addons/kv_theme_bazaar/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_bazaar 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 |
get_companies_post |
shop cards only (Vendors block with kv_shop_cards.tpl): item count, three best-selling product thumbs, review rating in $company.kv_bz |
get_products_post |
vendor review rating per product (kv_bz_rating) for the card chip |
get_product_data_post |
products.view only: $product.kv_bz_vendor (company, city, joined, item count, rating) for the seller box |
get_company_data_post |
companies.products / companies.view only: kv_bz for the storefront banner |
| Block cache | callable_handlers.kv_theme_bazaar = licence and settings state |
Every data hook returns at once unless the storefront runs the licensed theme; the data depends on the catalogue only.
Full page cache (4.21): the theme prints nothing visitor-specific; cart and account data come from the core blocks.
js/addons/kv_theme_bazaar/theme.js copies the first shop card into the hero spotlight.
Customising
Section titled “Customising”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_*, @bz_*) set by each style file.