Skip to content

Developer notes

  • Theme kv_keystone (child of responsive), delivered by the add-on kv_theme_keystone from var/themes_repository/kv_keystone into design/themes/kv_keystone on install. The add-on never activates the theme.
  • Only new templates: blocks/<type>/kv_*.tpl, addons/banners/blocks/kv_ke_*.tpl, addons/blog/blocks/kv_ke_posts.tpl and hook files of the add-on. No core or Responsive template is copied or replaced, so core and add-on hooks keep working on every CS-Cart version.
  • Styles: css/kit/*.less (shared Kavio theme kit) + css/skin/skin.less (Keystone) + the colour scheme styles/data/<Scheme>.less, compiled last. Keystone tokens are LESS expressions of the Theme Editor variables (@primary_button, @menu, @menu_links, @links, @base, @sidebar, @secondary_button, @font, @decorative, @general_bg_color, @top_panel_*, @footer_*, @discount_label, @in_stock).
  • Scripts: js/addons/kv_theme_keystone/kit.js (kit) and theme.js (Keystone), loaded only while the licensed design is on.

Every Keystone template renders only when $kv_theme.theme == "kv_keystone" (assigned by the add-on while it is enabled, the storefront uses Keystone and the licence is active); otherwise the stock output (or nothing) renders.

  • $ke (page): look of the current layout (look.layout|header|hero|footer|cats), hidden card elements per device, mega panel data, active promotions. Assigned on dispatch_before_display (storefront).
  • $product.ke (cards, gather_additional_products_data_post): brand, swatches (variation group or colour option), sizes, “from” price, new, bestseller, low stock.
  • Layout variants: var/kv_storage/kv_theme_keystone/layouts.json (layout id => market | classic | showcase); a layout not listed gets its variant from its name, else Market.

Nothing visitor-specific is printed: the output depends on the catalogue, the settings, the language, the currency and the customer group, so the block cache and the CS-Cart 4.21 full page cache are safe. Countdowns, “days left”, the filter chips and the popups are computed in the browser.

Use your own add-on or the theme’s Custom CSS in the Theme Editor:

  • html[data-ke-layout="market|classic|showcase"], html[data-ke-h=...], html[data-ke-hero=...], html[data-ke-f=...].
  • Classes: ke-card*, ke-cell*, ke-day*, ke-offer*, ke-mega*, ke-fchip*, ke-slide*.
  • Block user classes: ke-hide-phone, ke-hide-tablet, ke-hide-desktop, kv-tabs.

The add-on ships the Kavio upgrade synchronizer: uploading a new zip over the installed add-on, FTP or the Upgrade Center all end in the same state as a fresh install; theme files you changed are kept and listed in a notice.