Developer notes
| Item | Value |
|---|---|
| Add-on id | kv_theme_atlas |
| Theme | kv_atlas (child of responsive), installed from var/themes_repository/kv_atlas |
| 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 | atl- (theme), kv- (kit) |
design/themes/kv_atlas/css/kit/{fonts,base,features,addons}.less(kit layer),css/skin/skin.less(Atlas),styles/data/{Meridian,Harbor,Citrus,Night}.less(styles).- Block templates:
blocks/categories/kv_atl_rail.tpl(department rail),kv_atl_depts.tpl(All departments button),kv_atl_tiles.tpl(department tiles),kv_atl_tree.tpl(department tree),blocks/products/kv_atl_grid.tpl(product section),kv_atl_scroller.tpl,kv_atl_mini.tpl,blocks/vendor_list_templates/kv_atl_shops.tpl, and the kit templates (kv_mega,kv_search,kv_icons,kv_phone,kv_gate). - Hook files in
templates/addons/kv_theme_atlas/hooks/:index/html_tag.pre(data-atltokens: settings and page type),index/scripts.pre(texts, settings and the department colour map for theme.js),products/product_multicolumns_list.pre(wish list heart, eyebrow, swatches),products/list_price_block.post(stock line),products/product_multicolumns_list_control.post(add button on every card, countdown, seller line),products/main_info_title.pre,products/promo_text.pre(highlights),products/product_detail_bottom.pre(promotion end and seller box). Core and add-on templates are not overridden, so add-on hooks keep working. js/addons/kv_theme_atlas/theme.js: department colour slots, All departments dropdown, hero slider, scrollers, tabs row, colour chips, buy box assembly; 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, department slots) while the add-on is enabled, the storefront runs kv_atlas 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 |
card eyebrow: atl_brand, atl_dept, atl_dept_id, atl_slot (kit: kv_promo_end, kv_seller) |
get_categories_post |
department tiles only: atl_line (first sentence of the description) |
get_companies_post |
Top shops only: atl_shop (product count, rating, three thumbs) |
get_product_data_post |
products.view, Multi-Vendor: atl_seller (vendor facts, other offers of the master product) |
| Block cache | callable_handlers.kv_theme_atlas = 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, 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_*, @atl_*) set by each style file; the department colours are @atl_dept_1..8
with _soft, _tile and _ink variants and the CSS custom properties --dc, --ds, --dt, --di on elements
with the classes kv-d1..kv-d8.