Second Category Description: setup and help

Quick start

  1. Install the ZIP in Modules > Module Manager and click Configure.
  2. Open Improve > Second Category Description > Settings and keep Enable Module set to Yes.
  3. Choose Display Mode and review First Page Only, CSS Class, and Wrapper HTML Tag; save.
  4. Edit a category under Catalog > Categories and fill Second Category Description for the required shop and languages.
  5. For Template injection, use Templates to review and insert displayMprSecondCatDesc at the desired location.
  6. Open the category and verify placement, translations, and page-2 behavior.

Requires PrestaShop 1.6 or later and PHP 7.1 or later.

Setup manual

Install and open the module

Upload the ZIP in Modules > Module Manager > Upload a module. Install it and click Configure. Open Improve > Second Category Description for the dashboard, Templates, and Settings.

Requires PrestaShop 1.6 or later and PHP 7.1 or later.

Installation creates these tables with your database prefix:

mprscd_description
mprscd_description_lang
mprscd_injection
mprscd_profile

Add a category description

Choose the correct shop context, then open Catalog > Categories and edit a category. Fill Second Category Description below the standard description. Enter content for each language you need and save.

On PrestaShop versions before 1.7.7, use the legacy category form to enter the description.

Descriptions are stored for a category and shop, with separate language records. An empty translation does not automatically fall back to the default language. A page with no saved content for its category, language, and shop returns no block.

You can structure content with headings, paragraphs, lists, and links. For example:

<h2>Buying guide for this category</h2>
<p>Explain how to choose between the products in this category.</p>
<h3>What to compare before ordering</h3>
<ul>
  <li>Size or dimensions</li>
  <li>Material or finish</li>
  <li>Compatibility with the rest of the order</li>
</ul>
<h3>Related categories</h3>
<p>Add relevant links to related categories.</p>

Configure Display Settings

Open Second Category Description > Settings > General.

Setting Default What it does and when to change it
Enable Module Yes Show descriptions in your storefront. Set No to hide them while retaining saved content.
Display Mode Default (inside column) Use the theme's category footer hook. Select Full width (CSS breakout) for a wider wrapper, or Template injection for a custom theme position.
First Page Only Yes Show the block only on the first category page. Disable to show it on later pages too.
CSS Class mprscd-description Class on the outer wrapper. Set a custom class if your theme needs it.
Wrapper HTML Tag div Choose div, section, article, or aside.

Save your changes. The Template Placement panel links to Open Template Manager and reports whether a tracked injection is active.

Choose storefront placement

Use the category footer hook

Default (inside column) and Full width (CSS breakout) render through displayFooterCategory. Inspect your category template to confirm that hook appears where you want the block.

Full width adds mprscd-fullwidth. It is a CSS breakout and can still be constrained by the surrounding theme layout.

Use template injection

Open Templates and scan the active theme. Review the proposed file and position. Keep a copy of the theme file before changing it, then insert the tracked hook. Select Template injection in Display Mode.

The inserted hook marker is:

{* MPRSCD_INJECT *}{hook h='displayMprSecondCatDesc'}{* /MPRSCD_INJECT *}

You can also place {hook h='displayMprSecondCatDesc'} manually. This custom hook renders only while Display Mode is Template injection. It displays the block at full width.

In injection mode, an active tracked insertion displays the description at the inserted position and hides it from the regular category footer. Without an active tracked insertion, the description can still appear in the category footer. Check for duplicate descriptions if you combine a manual insertion with the regular footer position.

After updating or replacing a theme, check injection status and rescan. The manager can remove tracked insertions.

Verify output and adjust styles

Open a category with saved content. Check that it appears at the expected footer or injected position. Check another language and, in multishop, another shop context. Open a category with no saved description and confirm no empty block appears.

With First Page Only enabled, open page 2 and verify the block is hidden. The setting uses the page number in the category URL. If your theme uses a different pagination format, check that the block stays hidden on later pages.

The normal wrapper is:

<div class="mprscd-description">
  <div class="mprscd-content">
    <!-- your saved description -->
  </div>
</div>

Full-width mode adds mprscd-fullwidth to the outer class list. Adjust styling in your theme if needed:

.mprscd-description {
  margin-top: 2rem;
  background: #fff;
}
.mprscd-description .mprscd-content {
  line-height: 1.7;
}
.mprscd-description.mprscd-fullwidth .mprscd-content {
  max-width: 1170px;
  margin-left: auto;
  margin-right: auto;
}

If you replace CSS Class, update your CSS selectors accordingly.

Troubleshoot missing or duplicate descriptions

Confirm Enable Module is Yes, the category is correct, and the current shop and language have saved content. Check First Page Only before diagnosing a later pagination page.

If content is missing in Default mode, confirm the theme renders displayFooterCategory. If it is missing in Template injection mode, confirm the injected custom hook is present in the active template. The custom hook returns nothing in other display modes or outside category pages.

If content appears twice, check for both a manual hook and an active footer position. Use tracked placement and check the module's injection status after theme changes.

Clear relevant page or template cache after edits. Use the module's Integrity page for required module infrastructure. The dashboard shows how many categories have descriptions.

Descriptions stay in the module and are not copied to the built-in additional category description field. There is no migration tool in the settings.

Disable or uninstall

Use Enable Module = No to hide descriptions without deleting them.

Before uninstalling, export any descriptions you want to keep. Uninstall removes module tables, including saved descriptions, injection records, and profiles. Category deletion also removes the module's corresponding description records.

Uninstall attempts to remove tracked template injections first. If cleanup fails, uninstall can continue and log the failure. Inspect modified theme templates afterward and remove any remaining manual or tracked hook calls if needed.

Questions

1

Can the extra description affect category page loading?

The module renders your saved description HTML on the category page. Images and embedded content in that HTML can add downloads and browser work, so the effect depends on the content you publish. Keep media sizes reasonable and check category loading after changing the description.

Known Issues

6

Translated back-office text

ResolvedUpdated:
Fixed in: 1.1.15
Some back-office text remained in English even when another language was selected. Labels now use the available translations.

Module fails on PHP 7.1

ResolvedUpdated:
Fixed in: 1.1.11
The module could fail to load on shops running PHP 7.1. Compatibility with the supported PHP version has been restored.

Back-office pages failing to open

ResolvedUpdated:
Fixed in: 1.1.10
Opening the module configuration could fail with an error instead of showing the settings. The settings pages now open correctly.

Compatibility with combined storefront assets

ResolvedUpdated:
Fixed in: 1.1.10
The module scripts or styles could be left out of PrestaShop asset combining. They now work with the shop performance settings.

Damaged translated text

ResolvedUpdated:
Fixed in: 1.1.10
Some translated description settings displayed damaged punctuation or escaping. The affected translations have been repaired.

Description placement setup incomplete

ResolvedUpdated:
Fixed in: 1.1.7
Description placement could fail because its saved placement settings were not fully installed. The necessary setup is now included.

Feature Requests

5

Implemented

Template manager for second category description placement

Implemented
Scans theme templates and previews detected placement locations in the back office. Merchants can insert or remove the second category description hook in selected templates.

Full-width descriptions and placement manager

Implemented
Choose the normal listing position, full-width display or a theme placement selected through the back-office placement manager.

Multilingual administration

Implemented
Use translated description settings in German, French, Spanish, Italian and Polish.

Licence management

Implemented
View and manage the module licence from a dedicated back-office page.

One-click module updates

Implemented
Check for and install module updates from the back office.

Changelog

v1.1.72026-08-15

  • AddedAdd template injection manager assets
  • Addedcomplete FR/DE/ES/IT/PL translations
  • FixedRegister second description injection tables
  • FixedPrefer schema manager for SQL install
Older releases

v1.3.02026-04-20

  • Addedadmin menu management via MenuInstaller for streamlined module setup
  • AddedLicense management tab with key management and renewal options
  • Addedself-healing integrity checks for automatic diagnostics and repair
  • Addedcomplete FR/DE/ES/IT/PL translations

v1.2.02026-01-30

  • AddedPS 9 / Hummingbird theme compatibility
  • AddedTinyMCE rich-text editor for second description in category back office
  • Improvedhook placement — second description now renders below the product grid
  • Fixedsecond description not appearing when PS CMS cache is enabled

v1.1.02025-12-15

  • Addedmultilingual support — separate second description per shop language
  • AddedCSS class on wrapper for easy theme-specific styling

v1.0.02025-04-28

  • Initialrelease: second description field for PrestaShop categories
  • InitialStored in dedicated DB table — does not modify PS core tables
  • InitialHook-based rendering at bottom of category page for SEO footer content
  • InitialCompatible with PS 1.7.x and PS 8.x

Demo

Test the full module before you buy

Buy a licence later and keep your settings.

  • Your 30-day demo Test it on your own shop for 30 days from the first install.
  • Ready demo shop Explore a ready demo shop in your browser.
  • No registration No account, email or store domain needed.
Launch demo shop

By downloading, you accept the demo terms and privacy policy.

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

Loading...
Back to top