Developer notes
| Item | Value |
|---|---|
| Add-on id | kv_theme_pulse |
| Theme | kv_pulse (child of responsive), installed from var/themes_repository/kv_pulse |
| Built with | Kavio theme kit 1.2 (kv-files.json in the theme lists every file with its hash and the kit version) |
| CSS prefix | pu- (theme), kv- (kit) |
| Fonts | Unbounded (display) and Onest (text), both SIL OFL, self-hosted with their licence files |
design/themes/kv_pulse/css/kit/*.less(kit layer),css/skin/skin.less(Pulse),styles/data/<Scheme>.less(16 schemes; every Pulse tone is a LESS expression of the Theme editor colours).- Block templates:
addons/banners/blocks/kv_pu_bento.tpl(bento hero + deal tile),kv_pu_stories.tpl(story circles),kv_pu_cells.tpl(info cells in a grid),kv_pu_promos.tpl;blocks/products/kv_pu_flashdeals.tpl,kv_pu_feed.tpl,kv_pu_shelf.tpl;blocks/categories/kv_pu_bubbles.tpl;blocks/static_templates/kv_pu_flash.tpl(flash bar);addons/blog/blocks/kv_pu_videos.tpl;blocks/vendor_list_templates/kv_pu_shops.tpl; plus the kit templates (kv_mega,kv_search,kv_icons,kv_phone,kv_gate). - Partials in
templates/addons/kv_theme_pulse/partials/:kv_pu_card.tpl(product card),kv_pu_head.tpl,kv_pu_list.tpl,kv_pu_icon.tpl(own icon set). - Hook files in
templates/addons/kv_theme_pulse/hooks/:index/html_tag.pre(data-putokens),index/scripts.pre(texts and settings for theme.js),products/product_multicolumns_list.override(grid cells render the Pulse card),products/main_info_title.pre(brand, flags, rating),products/main_price.post(savings pill and campaign strip),products/image_wrap.pre(gallery sticker and “Flash deal” flag),categories/view_description.override(category header and subcategory pills). Every hook renders the stock output (or nothing) unless the licensed theme is active. js/addons/kv_theme_pulse/theme.js: flip-tile countdowns, bento slider, story player, Discover feed cells, deals pill, info cell tidy-up, buy bar countdown; kit components (bottom bar, buy bar, option chips, filter sheet, swipe gallery, back to top).
| Hook | Use |
|---|---|
before_dispatch (storefront) |
assigns $kv_theme (theme, settings, data-kvt tokens) while the add-on is enabled, the storefront runs kv_pulse 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; storefront: page data $pu (flash promotion, category header) |
update_addon_status_post |
warning when the add-on is disabled while a storefront uses the theme |
gather_additional_products_data_post |
card data $product.pu (brand, rating, colour dots from variation groups, new / top flags, low stock), kit kv_promo_end, kv_seller |
get_banners_post (kit banner meta) |
$banner.kv_meta (eyebrow, lead, buttons, badge, paired product, promotion end, phone image) |
init_templater_post |
registers the theme’s Smarty plugins (Smarty 4 and 5) |
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; countdown end dates are the same for every visitor and the cart, wish list and compare counters are read 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_*, @pu_*) set by each scheme file.