Skip to content

Developer notes

  • Theme directory: design/themes/kv_axle (child of responsive), delivered by the add-on kv_theme_axle. The add-on copies var/themes_repository/kv_axle into design/themes on install; never edit the copy in var/themes_repository.
  • Styles: styles/data/<Style>.less (Theme editor variables + @kv_* kit tokens + @ax_* Axle tokens), the skin in css/skin/skin.less. Own CSS classes use the ax- prefix.
  • Templates added by the theme (all render the stock output, or nothing, without the licensed design):
    • blocks/products/kv_ax_grid.tpl, blocks/categories/kv_ax_systems.tpl
    • blocks/static_templates/kv_ax_finder.tpl (garage finder), blocks/static_templates/kv_ax_vehiclebar.tpl
    • addons/banners/blocks/kv_ax_hero.tpl, addons/banners/blocks/kv_ax_promos.tpl, addons/blog/blocks/kv_ax_posts.tpl
    • blocks/vendor_list_templates/kv_ax_sellers.tpl, blocks/wrappers/kv_ax_shop.tpl
    • hook files of the add-on: product grid card (products:product_multicolumns_list override with the card partial addons/kv_theme_axle/partials/kv_ax_card.tpl), product page (products:main_info_title pre, products:product_detail_bottom pre, products:product_tabs post), driver reviews (discussion:items_list_row override for the block with the user class ax-revs-block), index:html_tag pre, index:scripts pre.
  • Data: app/addons/kv_theme_axle/func.php (“axle-data”): $product.ax from gather_additional_products_data_post (fitting vehicle ids, universal flag, brand, position, OE numbers, New flag, main category); $ax from dispatch_before_display (finder JSON: vehicles parsed from the “Fits vehicles” variants, filter and feature ids, tyre sizes, result URLs, system photos; product page: fitment table rows and Complete the job); seller facts from get_companies_post / get_company_data_post. Finder data is cached in the Registry with the feature, filter and product tables as cache tags. Every handler returns at once unless the storefront runs the licensed design. Catalogue data only: safe with the block cache and the full page cache.
  • Script: js/addons/kv_theme_axle/theme.js on the Kavio kit API (Tygh.kvTheme): vehicle selects, My garage dialog, fitment badges and checks, vehicle bar, tyre finder, hero slider, mega menu tiles, bundle totals. The saved vehicle is localStorage["kv_axle_vehicle"] ({ id, make, model, engine, year }, id = the variant id of “Fits vehicles”).
  • Features are found by code (AX_*) or by name; see Usage.
  • The theme never overrides core templates; your own hooks keep working.