Skip to main content
Version: next

Browse the catalogue brands

Expose the brands in the navigation menu and on their own /b/ pages.

Overview​

When brands are enabled, Front-Commerce adds a Brands entry to the navigation menu, listing every active brand of the catalogue, and serves one page per brand at /b/<slug>. A brand page behaves like a category page: same layer of products, same facets, same sorting and pagination — restricted to the products of that brand.

A /b landing page lists all the brands, and is what the "See all Brands" link of the menu points to.

Enable the feature​

Brands are driven by the back office, not by an environment variable: enable Afficher une catégorie dédiée aux marques (CAT_display_brands_category) in the catalogue options of your Gezy back office. Front-Commerce reads it from /v2/ecommerce/config and exposes it as gezy.catalog.brands.enabled.

The back office must expose GET /api/v4/catalog/brands. If it does not, or if the endpoint fails, the brand entry silently disappears from the menu: the rest of the site is never impacted, and the failure is reported in the application logs.

Requirements on the back office data​

A brand is exposed only when it has:

  • a uuid_lm — the identifier used by the API and by the /b/ URLs;
  • a public URL for the current e-commerce, in seo_marques.

The generate_catalog_seo_entries cron creates the missing SEO entries (/b/<slug>, meta title, meta description). A brand created by import or by API and never opened in the back office therefore becomes browsable on the next cron run, not before.

GraphQL​

query {
brands {
id
name
path
}
brand(id: "rossignol") {
name
layer(params: { size: 10, from: 0 }) {
total
products {
sku
}
}
}
}

brand(id:) accepts either the brand uuid or the slug of its URL.