Skip to content

Developer notes

  • Theme directory: design/themes/kv_mono (child of responsive), delivered by the add-on kv_theme_mono. The add-on copies var/themes_repository/kv_mono into design/themes on install; never edit the copy in var/themes_repository.
  • Styles: styles/data/<Style>.less (Theme editor variables + @kv_* kit tokens + @mo_* Mono tokens: well @mo_well / @mo_well_hi, frame colour @mo_frame and mode @mo_frame_mode (box, velvet, soft, rule), gold hairline @mo_gold and gold text @mo_gold_text, menu band and its rule, gift band colours, capitals switch @mo_caps), the skin in css/skin/skin.less. Own CSS classes use the mo- prefix; .mo-m-<metal> sets the metal disc colours (--mo-m1..3), .mo-g-<stone> the gem disc colours (--mo-g1..3).
  • Media: media/images/mo/ (SVG gift box of the gift edit band).
  • Templates added by the theme (all render the stock output, or nothing, without the licensed design):
    • blocks/products/kv_mo_grid.tpl, blocks/categories/kv_mo_cats.tpl
    • blocks/static_templates/kv_mo_shopby.tpl (metal / stone / occasion tabs), kv_mo_gifts.tpl (gift edit band), kv_mo_metalbar.tpl (metal bar)
    • addons/banners/blocks/kv_mo_hero.tpl, addons/banners/blocks/kv_mo_promos.tpl, addons/blog/blocks/kv_mo_posts.tpl
    • blocks/vendor_list_templates/kv_mo_sellers.tpl, blocks/wrappers/kv_mo_shop.tpl
    • hook files of the add-on: product grid card (products:product_multicolumns_list override with the card partial addons/kv_theme_mono/partials/kv_mo_card.tpl), product page (products:main_info_title pre and post, products:product_detail_bottom pre with the badges, the size guide dialog and the gift rows, products:product_tabs post with Complete the set), client reviews (discussion:items_list_row override for the block with the user class mo-revs-block), index:html_tag pre, index:scripts pre.
  • Data: app/addons/kv_theme_mono/func.php (“mono-data”): $product.mo from gather_additional_products_data_post (maker, metals and swatch slots, purity and hallmark stamp, stones, carat, meta line, collection, occasions, badges, ring size flag, New flag, main category); $mo from dispatch_before_display (metal, stone and occasion variants with counts and filtered links, gift price presets, the metal bar of the current list built from the request URL, JSON for theme.js, product page: Complete the set); maker facts from get_companies_post / get_company_data_post. Catalogue data is cached in the Registry with the feature, filter, product and category 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_mono/theme.js on the Kavio kit API (Tygh.kvTheme): hover zoom (fine pointers only, background image of the previewer link’s detailed image), ring size guide (native <dialog>), engraving preview, hero slider, mega menu metal column, set totals, bottom bar, option buttons.
  • Features are found by code (MO_*) or by name; see Usage.
  • The theme never overrides core templates; your own hooks keep working.