Developer notes
Structure
Section titled “Structure”- Theme
kv_keystone(child ofresponsive), delivered by the add-onkv_theme_keystonefromvar/themes_repository/kv_keystoneintodesign/themes/kv_keystoneon 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.tpland 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 schemestyles/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) andtheme.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 ondispatch_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.
Hooks for your own changes
Section titled “Hooks for your own changes”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.
Upgrades
Section titled “Upgrades”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.