Your storefront

With your store, products, tax, shipping, and payments configured, your storefront is ready. Here is how customers interact with it and how you can customise the experience.

Frontend pages

Solidshop provides these frontend pages. Each one is created by adding a Joomla menu item of type Solidshop:

Page Menu item type Description
Storefront home Solidshop → Storefront home A landing page built from modules — the item itself prints at most a heading and your store tagline. Make it the site's default page; see Landing page below.
Product listing Solidshop → Products Browsable catalogue with sorting. Add the Filters module to the sidebar for category, price, brand, rating, tag and on-sale filtering. Switch on Products on Sale Only and pick Biggest discount as the default sort for a Deals page — it lists the products whose original price is above their selling price, the ones the cards badge with a discount.
Product detail (automatic) Individual product page with images, description, variants, add-to-cart. No menu item needed — routed automatically from the listing.
Cart Solidshop → Cart Shopping cart with quantity editing and order notes
Checkout Solidshop → Checkout Multi-step checkout: address → shipping method → payment method → confirmation
Customer account Solidshop → Account Order history, address book, downloads, invoices, wishlists
Wishlist Solidshop → Wishlist Saved product wishlist for logged-in customers
Order tracking Solidshop → Tracking Public order tracking page (customers can check status with their order reference)

Creating menu items: In Joomla admin, go to Menus → Main Menu → New. Set the “Menu Item Type” to Solidshop and pick the view you want. Give it a title (e.g. “Shop”), save, and it will appear in your site navigation.

Landing page

A shop's front page is a hero, a few product strips, category tiles and whatever else you place around it — all modules. The Storefront home menu item type gives those modules a page to sit on without borrowing an empty article: assign your modules to it, set it as the site's default page (Menus → Main Menu, the Home star), and the component stays out of the way. Its own output is a page heading (switch it off under Page Display when a hero module already carries an <h1> — the Slideshow module with Heading level H1, say) and, optionally, the store tagline from Stores → SEO tab.

What the item does is set the document head. The page title is the store name (or the menu item's own Browser Page Title), the meta description is the menu item's or, failing that, the store summary from the SEO tab, and the canonical URL is the site root. It also publishes the structured data search engines read from a front page:

  • Organization — the store's name, legal name, logo, tagline (as the slogan), address, phone and email, taken from the store record. Google's Organization rich result and the knowledge panel draw on it.
  • WebSite with a SearchAction — the site's search URL, pointing at your Products menu item with the shopper's query in ?q=. Bing and AI shopping agents use it to search your catalogue directly.

Both nodes come out of the store record, so keep it complete: a logo, a real address and a phone number are what make the Organization result worth showing. Check the result with Google's Rich Results Test or the Schema Markup Validator on your front page.

Modules

Solidshop ships nine frontend modules that you can place in any template position:

  • Slideshow module (mod_sshop_slideshow) — the hero at the top of a landing page. Each slide has a picture, an eyebrow line, a heading, a line of text and a button; the button links to a product, a category (the Products menu item scoped to it when you have one, otherwise the listing filtered by it), a menu item or a URL, so a slide can point straight into the catalogue and its links follow your menu. One slide renders as a static hero; several become a slideshow the shopper swipes or steps through with Previous / Next buttons and a dot per slide. Advance automatically (off by default) adds a timer with a Pause button; it stops while the pointer or keyboard focus is on the slideshow, while the slideshow is scrolled out of view, and altogether for visitors whose system asks for reduced motion. Set Heading level to H1 when the slideshow is the front page's main heading — later slides then use H2 so the page keeps a single H1. Place it in a full-width position (Foundra's fullwidth) so the picture meets the header. Foundra adds three layouts of its own — split, centered and banner — chosen from the module's Layout option; see the Foundra page.
  • Categories module (mod_sshop_categories) — the “Shop by category” block: a grid (2–6 columns) or a sideways-scrolling strip of picture tiles, each linking to its category’s listing — the Products menu item scoped to that category when you have one, otherwise the listing filtered by it, so the tiles follow your menu. Show everything below a parent category (Root gives your top-level ones) down to the depth you choose, or pick the categories yourself and they appear in the order you added them. A tile uses the picture set on the category itself (Options → Image on the category) and borrows the first product’s picture when the category has none, so it is never blank; Product count prints how many products the tile leads to, counted the way its listing counts them. Categories with no published products are left out by default rather than sending shoppers to an empty page. Foundra adds three layouts of its own — editorial, compact and cards — chosen from the module's Layout option; see the Foundra page.
  • Brands module (mod_sshop_brands) — the “Shop by brand” band: a grid (2–8 columns) or a sideways-scrolling strip of brand logos, each linking to the product listing filtered by that brand. Upload the logo on the brand itself (Catalog → Brands, the Logo field); a wide wordmark on a transparent background sits best in a row. Show every brand you sell or pick them yourself, in the order you added them. Brands with no published products are left out by default, and so is a brand with no logo — unless you switch Brand name on, which prints the name under each logo and gives a brand without one something to click. Logo treatment → Muted holds every logo to the same weight until the shopper points at it, which is what keeps artwork from a dozen different brands sitting together. Logos print on a light plate in both light and dark mode, because brand artwork is nearly always dark ink on a transparent background.
  • Cart module (mod_sshop_cart) — a mini-cart for your header: a cart badge with a live item count that opens an off-canvas drawer with the cart's line items, quantity steppers, an estimated total (tax-adjusted, automatic discounts included), and View cart / Checkout buttons. The badge and drawer update instantly when a shopper adds or changes items anywhere on the site, and by default the drawer opens on add-to-cart as the confirmation (switch this off with the Open drawer on add to cart option). Prefer the old badge-only link? Set Display mode to Cart link only.
  • Products module (mod_sshop_products) — display a grid of products filtered by category, with configurable column count (2–6), ordering, and item count. The Featured Products and Products on Sale options (Show / Hide / Only) and orderings such as Units Sold, Created Date, Discount or Random are what a “Featured”, “Best sellers”, “New arrivals” or “Deals” strip is made of; in Dynamic mode the same module shows products from the current product’s category on every product page.
  • Recently viewed module (mod_sshop_recent) — the products this shopper has looked at, newest first. It belongs under a product page and at the foot of the cart, where a shopper is comparing. The trail is kept in their session and nowhere else: nothing is written to your database, nothing is stored about a visitor who never signs in, and it ends when their session does. Products that have since been unpublished, taken out of their publish window or put behind an access level they do not hold drop out of the strip, and the trail remembers more products than the strip shows so one that has gone gives up its place to an older one instead of shortening the row. Exclude the current product keeps a product page’s own product out of its strip, and Minimum products holds the module back until the shopper has looked at enough of them to be worth a heading. The module is never cached, so a strip is always the visitor’s own — but note that Joomla’s System – Page Cache plugin caches whole pages for guests and would serve one guest’s strip to the next, the same caveat that applies to the cart module.
  • Search module (mod_sshop_search) — a product search form you can place anywhere on the page.
  • Filters module (mod_sshop_filters) — a sidebar filter panel with category tree, an on-sale toggle, price range, star rating, brand, and tag filters. Pairs with the product listing page, and renders only there — assign it to your Shop menu items and it stays out of the product pages that inherit them. With Hide empty filters on (the default), a section only appears when it has something to narrow by: assign no brands to your products and the Brand section stays out of the panel, and the same goes for ratings until reviews start coming in and for the on-sale toggle until a product carries an original price above its selling price. On a Deals listing (the menu item's Products on Sale Only switch) the toggle is left out, since it would have nothing to narrow. On screens narrower than Drawer Below Width (992 px by default, where Cassiopeia and Foundra stack the sidebar into the page) the panel folds into a Filters button on the listing toolbar, beside the sort control, which opens an off-canvas drawer with the same sections; the button counts the active filters, and the drawer’s Show results button closes it over the listing, which has already narrowed as filters were ticked. Set the width to 0 to keep the panel inline on every screen.
  • Currency switcher (mod_sshop_currency) — lets shoppers read your prices in another currency. Renders as a dropdown or a row of links. See Letting shoppers switch currency below.

To publish a module, go to Content → Site Modules, find the Solidshop module, assign it to a template position, choose which pages it should appear on, and save.

Add-ons bring modules of their own. The Reviews & Ratings package ships Solidshop - Reviews Module (mod_sshop_reviews), the “What customers say” band built from real customer reviews.

Letting shoppers switch currency

Publish the Currency switcher module and shoppers can read your catalogue, cart and checkout in a currency of their choosing. It is a display feature: your store keeps trading in its own currency. The order, the invoice, the confirmation email, your reports and the amount that reaches the payment gateway are all in the store currency, whatever the shopper was reading — and the checkout says so, next to the total.

To set it up:

  1. Go to Solidshop → Currencies, publish each currency you want to offer, and give each one an exchange rate. Rates are relative to each other, so the simplest scheme is to give your store currency a rate of 1.0 and express the others against it — EUR at 0.92 means one unit of store currency buys 0.92 euro. Rates are typed by you and are not updated automatically.
  2. Publish Solidshop - Currency Switcher under Content → Site Modules in the position you want (a header position, next to the language switcher, is the usual choice).

The switcher only lists published currencies that have a rate above zero, and it hides itself entirely when that leaves just one — so a single-currency shop never shows a pointless control. A shopper’s choice lasts for their session.

Page caching and the switcher — Joomla’s System - Page Cache plugin stores one copy of a page per URL and serves it to every guest, so a guest can be handed a page that was rendered in another guest’s currency. If you offer a switcher, either leave that plugin off or restrict it to pages without prices. Logged-in shoppers are unaffected.

Guest checkout

By default, customers must create a Joomla account to check out. To allow guest checkout (no account required), go to Solidshop → Config → General and enable “Allow guest checkout”. Guest customers provide their email address during checkout.

Template overrides

Every Solidshop frontend view can be customised via Joomla’s standard template override system. Copy any file from components/com_solidshop/tmpl/{view}/ to templates/{your-template}/html/com_solidshop/{view}/ and edit it there. Your override will survive Solidshop updates.

If you are using the Foundra template, overrides for all major views are already included — and not only Solidshop’s. Foundra also styles the Joomla views a shop leans on: articles (your About and policy pages), a category blog, the Contact page, the sign-in, registration and password-reset screens, and the article module you would use for a “From the blog” strip. They use the same cards, spacing and dark-mode colours as the shop pages, so a shopper never crosses a visible seam between the two.