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-agtokens 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.
Customising
Section titled “Customising”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).