Skip to content

Developer notes

Item Value
Add-on id kv_theme_ridge (CS-Cart and Multi-Vendor)
Theme kv_ridge (child of responsive), installed from var/themes_repository/kv_ridge
Built with Kavio theme kit 1.2.1 (kv-files.json in the theme lists every file with its hash and the kit version); kit modules overlay shell, full-screen menu, chapters, rail, command search, docked cart (drawer only)
CSS prefix ri- (theme), kv- (kit)
  • design/themes/kv_ridge/css/kit/{fonts,base,features,addons,modules}.less (kit layer), css/skin/skin.less (Ridge), styles/data/{Dusk,Glacier,Desert,Forest}.less (styles).
  • Block templates: addons/banners/blocks/kv_ri_chapters.tpl (chapters), blocks/products/kv_ri_gear.tpl (gear rail with condition chips), kv_ri_deals.tpl (deals band), kv_ri_mini.tpl (compact rows: cart drawer), blocks/categories/kv_ri_panels.tpl (sport panels), addons/blog/blocks/kv_ri_notes.tpl (field notes), blocks/static_templates/kv_ri_cathero.tpl (category scene header), kv_ri_store.tpl (vendor store header), and the kit templates (kv_overlay, kv_command, kv_icons, kv_dock, kv_gate, kv_chapter).
  • Partials templates/addons/kv_theme_ridge/partials/: kv_ri_card.tpl (dusk-plate card), kv_ri_pcard.tpl (chapter price card), kv_ri_scene.tpl (scene image at its original size).
  • Hook files templates/addons/kv_theme_ridge/hooks/products/: product_multicolumns_list.override (Ridge card in product grids), view_main_info.pre (product scene + breadcrumbs), image_wrap.post (callouts), main_info_title.pre (collection line), main_price.post (saving, deal line), product_detail_bottom.pre (stock and dispatch line, seller), product_tabs.pre (Built for).
  • js/addons/kv_theme_ridge/theme.js: chapter progress, trust strip placement, parallax, heading accents, condition chips, sport panels, deals clock, dispatch countdown, cart button → drawer; kit components (tab bar, buy bar, size chips, filter sheet, swipe gallery).
Hook Use
before_dispatch (storefront) kit: assigns $kv_theme while the add-on is enabled, the storefront runs kv_ridge and the licence is active
get_banners_post kit 1.2.1 banner meta: $banner.kv_meta (texts, paired product with prices, promotion end, scene and phone image)
gather_additional_products_data_post $product.ri_specs (header features: name, value), ri_conds (condition variants), ri_new; kit kv_chips, kv_promo_end, kv_seller
get_categories_post sport panels (param ri_panels): ri_count (products in the subtree), ri_subs, scene fallback
dispatch_before_display (static handler) $ri: home condition chips with counts and the condition filter, category scene header, product page facts (gauges, conditions, fit, scene, collection line, cutoff), vendor store header
delete_banners kit: removes the chapter details of a deleted banner
Block cache callable_handlers.kv_theme_ridge = licence and settings state; banners blocks follow products, prices, promotions and the chapter details table

Every storefront handler 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 counters and the drawer come from the core cart block; countdowns are data-kv-end timestamps ticked in the browser.

Chapter details are stored in the table ?:kv_theme_ridge_bmeta (banner, language) and the image pairs of the object type kv_bmeta (phone image); both are removed on uninstall.

Use a child theme or the Theme editor’s custom CSS. Design tokens are LESS variables (@kv_*, @ri_*) set by each style file, e.g. @ri_plate1 / @ri_plate2 / @ri_ridge (card plates), @ri_scr / @ri_scrm (scene shade), @ri_hero / @ri_hero_ink (deals band), @ri_co* (checkout surface), @ri_scene_acc (accent on scenes).