Custom Category H1: setup and help

Quick start

  1. Upload and install the mprcustomcategoryh1 ZIP in Module Manager.
  2. Click Configure and open Configuration. Keep Enable set to Yes.
  3. Open Category Headings and click Add category heading.
  4. Choose the intended shop context and select one or more existing storefront categories under Category.
  5. Enter Custom H1 for the required languages, set Active to Yes and click Save.
  6. Open a selected category page and confirm the visible heading; check the original category name in Catalog > Categories.
  7. Test another language, pagination and an AJAX listing refresh if your theme uses one.

Requires PrestaShop 1.6 or later and PHP 7.1 or later.

Setup manual

Install and first configuration

Follow the steps in Quick start.

Create a heading

Open Custom Category H1 > Category Headings. Click Add category heading. In Category, select one or more categories. The selector supports specific categories, condition groups and exclusions. A new form starts with nothing selected. Root categories cannot be selected because they do not render ordinary storefront category pages.

Enter Custom H1 in each required language. The stored field is limited to 255 characters. Set Active to Yes and save. One override can assign the same text or pattern to multiple categories. A category cannot have two assignments in the same shop context. If the editor reports an existing assignment, edit that override instead.

You can also open Catalog > Categories and use Custom H1 heading on the category edit form. When a category belongs to a shared override, editing it here detaches only that category. The other categories retain their shared assignment. Empty values can still resolve through the enabled language, shop or parent fallbacks.

Configure replacement

Open Configuration. Settings are organized into four tabs. Defaults below are installed values; an existing shop can have different saved values.

General

Setting Default What to change
Enable Yes Set No to stop custom heading replacement.

Back office

Setting Default What to change
Show field on category edit page Yes Set No to hide the extra field on native category forms while using Category Headings for management.

Front office

Setting Default What it does
Replace category name on category page Yes Replaces the displayed category name. Keep enabled for stock themes. Disable only if your custom theme uses the supplied mpr_custom_h1 heading directly.
Apply to product-listing label Yes Updates the product search label for themes and AJAX flows that use it.
Fallback to default language Yes If the requested translation is empty, try the default language, then any nonempty translation on that override. Disable when untranslated headings should not borrow another language.
Fallback to all-shops override Yes Use an all-shops assignment when no current-shop row exists. An existing shop row takes precedence even if inactive or empty.
Fallback to parent category override No Try the nearest applicable ancestor when no heading resolves for this category. Enable only if inherited headings are intended.
Append page number automatically No On later pages, append a space and - Page N unless the pattern already includes {page} or {page_label}.
Heading tag hint h1 Exposes mpr_custom_h1_tag as h1, h2, h3 or span for custom templates. It does not rewrite the theme's HTML tag.

Safety

Setting Default What to change
Strip HTML from custom H1 values Yes Removes pasted tags when normalizing text. Keep enabled for plain heading content.
Normalize whitespace Yes Collapses repeated spaces and line breaks. Keep enabled unless you need to preserve stored whitespace.

Save after changing settings. The module stores headings in mprcustomcategoryh1_override, mprcustomcategoryh1_override_lang and mprcustomcategoryh1_override_category, using your database prefix. It does not update native category names in the database.

Use dynamic text

Placeholder Value
{category_name} Current category's original name
{nb_products} Product count supplied in the hooked category/listing data; it can be empty if that data is unavailable
{page} Page number above page 1, otherwise empty
{page_label} - Page N above page 1, otherwise empty; the Page label is translated
{shop_name} Current shop name
{lang} Uppercase language ISO code

Examples:

Buy {category_name} Online
{category_name} - {nb_products} Products
{category_name} {page_label}
{category_name} for {shop_name}
{category_name} - {lang}

With category name Shower Trays, {category_name} {page_label} gives Shower Trays - Page 3 on page 3. On the first page, whitespace normalization removes the trailing space. Include the space before {page_label} yourself.

Check storefront output

The module replaces category headings and product-listing labels on the server. It does not replace headings through JavaScript. Your theme must display the category heading or listing label supplied by the module.

The original category name remains saved. After enabling replacement, review menus, breadcrumbs and other theme locations: custom templates that reuse the category heading can also show the replacement.

For a custom theme, a developer can use the supplied variables directly:

{if isset($category.mpr_custom_h1) && $category.mpr_custom_h1}
  <{$category.mpr_custom_h1_tag|default:'h1'}>{$category.mpr_custom_h1|escape:'html':'UTF-8'}</{$category.mpr_custom_h1_tag|default:'h1'}>
{else}
  <h1>{$category.name|escape:'html':'UTF-8'}</h1>
{/if}

This module does not edit meta titles, meta descriptions, URLs, canonical tags or category descriptions.

Troubleshoot

If the normal name remains, check Enable, the override's Active state, category selection, current shop, translation and fallback settings. For a stock theme, keep Replace category name on category page enabled. Check other modules that also change category output.

If the heading changes after filtering, check Apply to product-listing label and the theme's AJAX templates. If a heading repeats across child categories, review Fallback to parent category override. If a translation unexpectedly uses another language, review Fallback to default language.

Use Integrity for module setup checks. Configuration, License, Support and Update are separate module admin pages.

Disable or uninstall

Set Enable to No to stop replacement, or set an override's Active switch to No for a narrower change. You can delete an assignment from Category Headings. Fallback rules can still supply another heading.

Use Uninstall in Module Manager to remove the module. Its uninstall removes its schema tables, configuration and admin menu. Save a database copy of your heading assignments first if you need to retain them. Native category names remain available after removal.

Questions

No questions about this module yet

Ask anything about installation, compatibility or setup. Answers appear here.

Known Issues

7

Page suffix stayed in English

ResolvedUpdated:
Fixed in: 1.3.24
Headings on later category pages could show an English page suffix in other shop languages.

Protected packages could not be installed

ResolvedUpdated:
Fixed in: 1.3.23
Installing a protected module package could fail.

Administration labels stayed in English

ResolvedUpdated:
Fixed in: 1.3.23
Administration labels could ignore their available translations.

Module could not load on PHP 7.1

ResolvedUpdated:
Fixed in: 1.3.21
Shops running PHP 7.1 could be unable to load the module.

Untouched selectors could target every category

ResolvedUpdated:
Fixed in: 1.3.20
Saving without selecting categories could incorrectly apply a heading to all categories.

Multiple category selection did not work

ResolvedUpdated:
Fixed in: 1.3.17
Selecting several categories for one heading could fail to keep all selected categories.

Category selection rules were not respected

ResolvedUpdated:
Fixed in: 1.3.17
Heading assignments could fail to follow the configured category selection rules.

Feature Requests

6

Implemented

Independent category headings

Implemented
Set the visible category heading without changing its navigation name.

Grouped category assignments

Implemented
Apply one heading to multiple selected categories and exclude categories from the selection.

Heading placeholders

Implemented
Insert category names, product counts, page numbers, shop names and languages into headings.

Heading on the category form

Implemented
Edit an individual heading directly in the native category form.

One-click updates and release history

Implemented
Update the module from administration and review its release history.

Multilingual administration

Implemented
Use administration text in French, German, Spanish, Italian and Polish.

Changelog

v1.3.182026-09-21

  • AddedRun integrity snapshot on install
  • AddedSplit direct category H1 overrides
  • AddedRelease support service workspace
  • AddedShip updater release history UI
  • AddedStore category H1 as grouped assignments
  • Addedcomplete FR/DE/ES/IT/PL translations
  • ImprovedUse shared additional form field component
  • FixedSync entity selector package
  • FixedRelease category form compatibility
  • FixedKeep clean install integrity state green
  • FixedComplete install integrity verification

Demo

Test the full module

  • Ready demo shop Explore a ready demo shop in your browser.
  • No registration No account, email or store domain needed.

By opening this demo you accept the demo terms and the privacy policy.

Loading...
Back to top