Skip to content

Developer notes

Item Value
Add-on id kv_theme_agora (Multi-Vendor only: <core_edition>MULTIVENDOR</core_edition>)
Theme kv_agora (child of responsive), installed from var/themes_repository/kv_agora
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 ag- (theme), kv- (kit)
  • design/themes/kv_agora/css/kit/{fonts,base,features,addons}.less (kit layer), css/skin/skin.less (Agora), styles/data/{Sunrise,Ruby,Lagoon,Midnight}.less (styles).
  • Block templates: blocks/categories/kv_ag_drawer.tpl (All categories drawer), kv_ag_circles.tpl (category circles), blocks/products/kv_ag_grid.tpl (offer cards section: grid, deals, rail, tabs), kv_ag_flash.tpl (flash sale strip with clock), blocks/vendor_list_templates/kv_ag_stores.tpl (store cards), blocks/static_templates/kv_ag_coupons.tpl (coupon tickets), kv_ag_coupon_tile.tpl (coupon tile in the category grid), blocks/wrappers/kv_ag_store.tpl (store header on the vendor page), and the kit templates (kv_search, kv_icons, kv_mega, kv_gate).
  • Partial templates/addons/kv_theme_agora/partials/kv_ag_card.tpl (card extras).
  • Hook files in templates/addons/kv_theme_agora/hooks/: index/html_tag.pre (data-ag tokens and the flash end), index/scripts.pre (texts for theme.js), products/product_multicolumns_list.pre (card extras), products/main_info_title.pre (offers summary, seller card, offers table that theme.js moves into place).
  • js/addons/kv_theme_agora/theme.js: drawer, slider, coupon Copy, clocks, rails, quick add, product page placement, Buy now; kit components (tab bar, buy bar, option chips, filter sheet, swipe gallery).
Hook Use
before_dispatch (storefront) kit: assigns $kv_theme while the add-on is enabled, the storefront runs kv_agora and the licence is active
dispatch_assign_template $kv_ag: coupon tickets (active cart promotions with a coupon code) and the flash end
gather_additional_products_data_post $product.ag: discount, offers count and lowest price, seller (rating, reviews, tier), free shipping, rating and review count, sold count, quick-add options
get_product_data_post $product.ag_offers (offers table) and $product.ag_shop (seller card) on product pages
get_categories_post drawer and circles: item counts, second level for manual lists
get_companies_post, get_company_data_post store cards and the store header
update_product_pre, update_promotion_pre demo import only: hidden extra offers, free shipping flags and coupon promotions of the Agora demo pack (by the pack’s own keys and names)
Block cache callable_handlers.kv_theme_agora = licence and settings state

Every storefront hook returns at once unless the storefront runs the licensed theme; the data depends on the catalogue, the vendors and the promotions 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 come from the core blocks in the browser.

Use a child theme or the Theme editor’s custom CSS. Design tokens are LESS variables (@kv_*, @ag_*) set by each style file, e.g. @ag_deal / @ag_deal_tile (flash band and clock), @ag_stub (coupon stubs), @ag_tier_* (seller badges), @ag_slide1–@ag_slide3 (slider), @ag_search_line / @ag_search_btn (search box).