Developer notes
| Item | Value |
|---|---|
| Add-on id | kv_theme_gloss |
| Theme | kv_gloss (child of responsive), installed from var/themes_repository/kv_gloss |
| 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 | gl- (theme), kv- (kit) |
design/themes/kv_gloss/css/kit/{fonts,base,features,addons}.less(kit layer),css/skin/skin.less(Gloss),styles/data/{Nude,Cherry,Peach,Noir}.less(styles).- Block templates:
blocks/categories/kv_gl_bar.tpl(menu bar with Brands A-Z and mega panels),kv_gl_brands.tpl(brand grid),kv_gl_facets.tpl(shade strip / concern chips),blocks/products/kv_gl_grid.tpl(product section: grid, rail, offers band, minis),kv_gl_top10.tpl(Top 10 chart),kv_gl_offers.tpl(brand offer tiles),kv_gl_feature.tpl(feature band),blocks/wrappers/kv_gl_shop.tpl(brand-shop header on the vendor page), and the kit templates (kv_icons,kv_mega,kv_gate). - Partial
templates/addons/kv_theme_gloss/partials/kv_gl_card.tpl(card extras). - Hook files in
templates/addons/kv_theme_gloss/hooks/:index/html_tag.pre(data-gltokens: page type and settings),index/scripts.pre(texts for theme.js),products/product_multicolumns_list.pre(card extras),products/main_info_title.pre(brand line, shade data, unit price and samples note that theme.js moves into place). Core and add-on templates are not overridden, so add-on hooks keep working. js/addons/kv_theme_gloss/theme.js: Brands A-Z panel, rails, shade swatches and quick add on cards, shade picker and product page extras; kit components (tab bar, buy bar, option chips, filter sheet, swipe gallery).
| Hook | Use |
|---|---|
before_dispatch (storefront) |
assigns $kv_theme (theme, settings, data-kvt tokens) while the add-on is enabled, the storefront runs kv_gloss and the licence is active |
dispatch_before_display (admin) |
notice while a storefront uses the theme and the design is off; demo content import after activation |
update_addon_status_post |
warning when the add-on is disabled while a storefront uses the theme |
gather_additional_products_data_post |
$product.gl: brand and brand variant, shade swatches (sw: name, colour, variant, swatch/swap image, gallery index, in stock), shade option id, quick-add options, badges (discount, clean, new, mini), volume in ml (kit: kv_promo_end, kv_seller) |
get_categories_post |
Gloss categories blocks only: second and third level (menu bar), Brands A-Z data (gl_az), shade / concern variants with filter hashes (gl_vars) |
| Block cache | callable_handlers.kv_theme_gloss = licence and settings state |
Every data hook returns at once unless the storefront runs the licensed theme; the data depends on the catalogue only and is kept in request caches (nothing is written on storefront requests). Full page cache (4.21): the theme prints nothing visitor-specific; cart and wish list counters come from the core blocks in the browser.
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_*, @gl_*) set by each style file, e.g. @gl_plate / @gl_plate_deep (counter
plates), @gl_m1–@gl_m4 (brand offer tiles), @gl_camp (campaign tile and bands), @gl_band (offers band),
@gl_num / @gl_num_outline (Top 10 numerals), @gl_tilt (badge rotation).