Developer notes
| Item | Value |
|---|---|
| Add-on id | kv_theme_parade |
| Theme | kv_parade (child of responsive), installed from var/themes_repository/kv_parade |
| 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 | pd- (theme), kv- (kit) |
design/themes/kv_parade/css/kit/{fonts,base,features,addons}.less(kit layer),css/skin/skin.less(Parade),styles/data/{Ivory,Blush,Denim,Noir}.less(styles).- Block templates:
blocks/categories/kv_pd_tabs.tpl(department tabs),kv_pd_dbar.tpl(department bar + mega panels),kv_pd_sizes.tpl(shop by size),blocks/products/kv_pd_strip.tpl(promo strip),kv_pd_grid.tpl(product section: grid, row, sale, launch),kv_pd_look.tpl(complete the look),blocks/wrappers/kv_pd_shop.tpl(Multi-Vendor shop header), and the kit templates (kv_mega,kv_icons,kv_gate). - Hook files in
templates/addons/kv_theme_parade/hooks/:index/html_tag.pre(data-pdtokens: page type and settings),index/scripts.pre(texts and settings for theme.js),products/product_multicolumns_list.pre(card extras:partials/kv_pd_card.tpl),products/main_info_title.pre(brand line, product data for theme.js, pay-later line, size guide). Core and add-on templates are not overridden, so add-on hooks keep working. js/addons/kv_theme_parade/theme.js: tabs and department bar, rails, colour dots, quick add with the size sheet, product page (gallery grid, colour chips, sold-out sizes, size guide, pay-later line, delivery facts); kit components (bottom 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_parade 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.pd: brand, colour dots, sizes with stock, quick-add options, discount %, New, Bestseller (kit: kv_promo_end, kv_seller) |
get_product_data_post |
products.view: pd_root (department of the product for the tabs) |
get_categories_post |
Parade categories blocks only: second and third level for manual lists (department bar), pd_sizes (shop by size) |
| Block cache | callable_handlers.kv_theme_parade = 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; bag, wish list and account counters are read from the core blocks in the browser, and quick add posts to the core cart with AJAX.
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_*, @pd_*) set by each style file, e.g. @pd_top (tabs band), @pd_head
(header), @pd_m1..3 (triptych mats), @pd_band (launch band), @pd_sale_bg (sale badge).