It's Clippy!

Lifestyle shop starter kit for apparel, furniture, jewellery, and home, with a session cart and inquiry forms. Statamic Pro is required to keep all four forms.

Haven Main Screenshot

Haven is a lifestyle commerce starter kit with nine catalogues: jewellery, furniture, apparel, home, beauty, plants, workshop, lighting, and stationery. Compatible with Statamic 5 and 6, it keeps one visual design and swaps demo copy through a post-install industry setup.

One Page template. Marketing pages use Theme sections in the Control Panel. Functional templates cover product detail, shop cart, blog detail, category archive, account, and sign-in shells.

Shoppers add items to a session cart and send a cart or product inquiry. There is no card checkout or payment capture.

Live demo

https://haven.webbydemo.in


After install β€” choose an industry

Starter-kit install is non-interactive. Run one command to apply a niche demo pack:

php please haven:setup apparel
# or: furniture | jewellery | home | beauty | plants | workshop | lighting | stationery

This sets Setting.industry, replaces sample products (and matching blog titles), and refreshes the Stache. If you skip it, the default pack is apparel.

The command asks before it deletes products and journal entries. Pass --force to skip that question:

php please haven:setup jewellery --force

Register the kit provider once after install (do not replace AppServiceProvider):

// bootstrap/providers.php
App\Providers\HavenServiceProvider::class,

Pages

Page URL Notes
Home / page_builder
Home Two /home-two second home from the HTML index-two layout
Shop /shop full catalogue
Shop now /shop-now same catalogue as cards
Shop gallery /shop-masonry same catalogue as a masonry gallery
Search /search pieces and journal notes
Product detail /products/{slug} products/show
Category /categories/{slug} category
Collection /collection page_builder + shop_products collection style
Cart /cart session cart
Checkout /checkout cart inquiry, no card charge
Blog /blog page_builder + blogs
Journal grid /blog-grid card grid
Journal masonry /blog-masonry masonry journal
Blog detail /blog/{slug} blogs/show
About /about page_builder
Contact /contact page_builder + contact_form
Account /account nonfunctional design shell β€” no orders, downloads, saved cards, or login
Accounts note /login does not register users, store passwords, or reset logins
Missing page any unknown URL error page

Theme sections (page_builder)

home_hero, home_hero_two, about_intro, collection_feature, explore_slider, explore_tiles, features, best_collection, video_feature, video_story, shop_products (grid / shop page / shop now / masonry / collection / featured), newsletter, blogs (grid / blog page / card grid / masonry / latest slider), contact_form, contact_details, heading_banner, legal_copy


Collections and taxonomies

  • Pages β€” marketing pages with Theme sections and an SEO tab
  • Products β€” catalogue with image, price, optional option sets, and an SEO tab
  • Blogs β€” journal posts with an SEO tab
  • Categories taxonomy β€” group products by industry niche, with an SEO tab

Globals

  • Setting β€” site name, industry, logo, phone, email, address, social, form button/success copy, default SEO description and social image

Navigation

  • header_menu, footer_menu β€” edit destinations in the Control Panel

Features

  • Lifestyle storefront with shared jewellery-derived design (jw_ CSS classes kept)
  • Industry packs under content/industries/ for jewellery, furniture, apparel, home, beauty, plants, workshop, lighting, and stationery
  • Session cart with add / update / remove
  • Product inquiry and cart inquiry instead of card payment
  • AJAX forms via theme-forms.js (no js="true" on form tags)
  • Header and footer wired to nav and Setting globals

Forms (Statamic Pro)

Form Handle
Contact contact
Newsletter newsletter
Product inquiry product_inquiry
Cart inquiry cart_inquiry

Statamic Core includes one form. Use Statamic Pro if you keep all four. Set each form email recipient in CP β†’ Forms after install.


Installation

Follow the Starter Kit installation instructions.
Requires Statamic 5.x or 6.x (PHP 8.2+ for Statamic 5; PHP 8.3+ for Statamic 6).

statamic new my-site webbycrown/haven-statamic-theme
Β 
# or into an existing site
php please starter-kit:install webbycrown/haven-statamic-theme

Then:

# Register HavenServiceProvider (see above)
php please haven:setup apparel
php please stache:refresh

This kit does not export routes/. Your routes/web.php stays as it is. HavenServiceProvider registers /search, /cart, /checkout, /categories/{slug}, and the cart add, update, and remove posts.

Optional HTML redirects, only if old template filenames still get traffic. New Statamic sites do not need these. Add them to your own routes/web.php:

Route::redirect('/index-two.html', '/home-two');
Route::redirect('/index.html', '/');
Route::redirect('/shop.html', '/shop');
Route::redirect('/single-product.html', '/shop');
Route::redirect('/about.html', '/about');
Route::redirect('/contact.html', '/contact');
Route::redirect('/blog.html', '/blog');
Route::redirect('/blog-grid.html', '/blog-grid');
Route::redirect('/blogs-masonary.html', '/blog-masonry');
Route::redirect('/blog-detail.html', '/blog');
Route::redirect('/cart.html', '/cart');
Route::redirect('/checkout.html', '/checkout');
Route::redirect('/login.html', '/login');
Route::redirect('/account-page.html', '/account');
Route::redirect('/error.html', '/');

Third-party libraries

See THIRD_PARTY.md for bundled front-end libraries and licences.


Support

Questions and issues: github.com/webbycrown/haven-statamic-theme/issues or WebbyCrown.

Changelog

v1.0.4

  • Compatible with Statamic 5 and 6 (statamic/cms: ^5.0 || ^6.0)
  • Setting globals ship in both layouts: data: in the set file (Statamic 5) and content/globals/default/setting.yaml (Statamic 6)
  • haven:setup keeps those two Setting files in sync

v1.0.3

  • Marketplace images are screenshots of the running kit
  • The picture on the right of the home page is the wool coat
  • Category archives list the products assigned to that category
  • An empty category says that nothing is filed there
  • Header search opens from the button, including with Enter
  • Cart totals use the same currency symbol as the catalogue
  • Category archives clear the fixed header on a phone, and the product grid has space between cards

v1.0.2

  • The contact form escapes the name, phone, email, and message it prints back
  • scroll-zoom.js keeps the Codrops copyright and MIT notice

v1.0.1

  • Search text and category headings are escaped before they are printed
  • haven:setup asks before it replaces products and journal entries
  • A successful cart inquiry empties the session cart

Credit

Theme by WebbyCrown.