Skip to content
- Theme directory:
design/themes/kv_fetch (child of responsive), delivered by the add-on kv_theme_fetch. The
add-on copies var/themes_repository/kv_fetch into design/themes on install; never edit the copy in
var/themes_repository.
- Styles:
styles/data/<Style>.less (Theme editor variables + @kv_* kit tokens + @ft_* Fetch tokens: arch well
@ft_well, arch shape @ft_arch, six pet tints @ft_p1..6 / @ft_pi1..6, three life stage tints @ft_st1..3,
band and finder colours, card treatment @ft_card), the skin in css/skin/skin.less. Own CSS classes use the ft-
prefix; .ft-pet-1..6 and .ft-stage-1..3 set --ft-tint / --ft-tint-ink.
- Media:
media/images/ft/ (SVG illustrations of the life stage cards and the food finder).
- Templates added by the theme (all render the stock output, or nothing, without the licensed design):
blocks/products/kv_ft_grid.tpl, blocks/categories/kv_ft_pets.tpl
blocks/static_templates/kv_ft_finder.tpl (food finder), kv_ft_stages.tpl (life stage cards),
kv_ft_stagebar.tpl (life stage bar), kv_ft_mypets.tpl (My pets bar)
addons/banners/blocks/kv_ft_hero.tpl, addons/banners/blocks/kv_ft_promos.tpl, addons/blog/blocks/kv_ft_posts.tpl
blocks/vendor_list_templates/kv_ft_sellers.tpl, blocks/wrappers/kv_ft_shop.tpl
- hook files of the add-on: product grid card (
products:product_multicolumns_list override with the card partial
addons/kv_theme_fetch/partials/kv_ft_card.tpl), price per kg (products:prices_block post, inside the core price
holder, so it is re-rendered when an option changes), product page (products:main_info_title pre,
products:product_detail_bottom pre, products:product_tabs post), customer reviews (discussion:items_list_row
override for the block with the user class ft-revs-block), index:html_tag pre, index:scripts pre.
- Data:
app/addons/kv_theme_fetch/func.php (“fetch-data”): $product.ft from gather_additional_products_data_post
(brand, pets, life stages, sizes, diets with their variant ids, badges, weight in kg of the selected pack size or the
Net weight feature, pack size names, New flag, main category); $ft from dispatch_before_display (pet, stage, size
and diet variants with counts and filtered links, food category per pet, the life stage bar of the current list built
from the request URL, JSON for theme.js, product page: starter kit and the repeat delivery hint); store 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_fetch/theme.js on the Kavio kit API (Tygh.kvTheme): My pets (localStorage key
kv_fetch_pets, native <dialog>, chips, “Good for” matching against the data-ft-pv / data-ft-sv attributes of
cards), food finder (one features_hash + cid), hero slider, mega menu tiles, starter kit totals, bottom bar.
- Features are found by code (
FT_*) or by name; see Usage.
- The theme never overrides core templates; your own hooks keep working.