Available for projects & agency overflow · Quick reply, from the person who does the work

The module is active but nothing shows on the site

The module is installed, it appears in the list, it is enabled and its settings page responds. Yet the store shows no trace of it. Almost always this isn’t a bug in the module: it is hooked nowhere, or the theme never calls the place where it hooked in.

Describe my issue Send a message

What you observe

  • The module is listed, enabled, and its settings save normally
  • Nothing appears on the page where it should, in any browser
  • The block shows on one page but not on another of the same type
  • It displayed before a theme change, and not after
  • It shows for you when logged in as admin, but not for a visitor

On PrestaShop: the module isn’t hooked, or not in the right place

A PrestaShop module only appears if it is attached to a hook point, and that attachment is recorded in the database at install time. If installation partly failed, or the module was dropped in manually, it can be active while hooked nowhere. The admin’s «Positions» page lists these attachments and lets you hook a module onto a specific point.

A second cause, even more common since the PrestaShop 1.7 themes: the module is hooked onto a point your theme never calls. Side columns have disappeared from many modern themes; a module designed to render in a left column then stays invisible without raising any error. The module works and produces its content, but no template asks for it.

Third cause: exceptions. The Positions page lets you exclude a module from certain controllers. An exception set long ago, or inherited from a configuration taken over, explains a block present everywhere except on one page.

On WooCommerce: the theme template swallowed the hook

WooCommerce lets a theme replace its templates by copying them into a woocommerce folder inside the theme. That is intended and documented, and it is the most common cause of invisibility: the theme copied the template two years ago, and the copy doesn’t contain the action call your extension hooks onto. The extension runs, finds no anchor, and displays nothing.

Another cause that has become frequent: the cart and checkout blocks. A store using blocks rather than the older shortcodes doesn’t fire the same hook points, and an extension written for the legacy flow doesn’t appear in the new one. The behaviour is normal, but nothing signals it.

Finally, a page cache serves static pages: if the module was enabled after caching, the page served to visitors predates it. That also explains a block visible to you, logged in and therefore not cached, and invisible to everyone else.

The order I check in

  1. Clear every cache, then look again

    Platform cache, page cache, browser cache, server cache. A fair share of these cases end there, and there is no point digging further before doing it.

  2. Check the hook attachment

    On PrestaShop, the Positions page; on WordPress, reading the extension’s code to find which action it actually hooks onto.

  3. Check that the theme calls that point

    I look for the call in the theme templates. If it isn’t there, the problem is in the theme, not in the module.

  4. Test with the default theme

    Temporarily switching to the theme shipped with the platform settles it in minutes: if the module appears, the cause is in the theme.

Related pages

Describe your need in one minute

A few targeted questions so I can reply with an estimate rather than another questionnaire.

objectif
version
emplacement (facultatif)
existant (facultatif)
echeance (facultatif)
Please provide an email or a phone number so I can get back to you.

Please provide an email or a phone number so I can get back to you.

Frequently asked questions

The module shows on the home page but not on product pages, why?
Either it is hooked onto a point that exists only on the home page, or an exception excludes it from the product controller. Both are fixed from admin, without touching code.
I changed theme and the module vanished, is that normal?
It is common and consistent: each theme decides which hook points it calls and where. A module hooked onto an area the new theme doesn’t have becomes invisible with no error.
I can see the block while logged into admin, but not in private browsing
That is the signature of a page cache: what visitors receive is a version saved before the module was enabled. Clearing that cache usually fixes it.
Does the theme have to be modified to display a module?
Not always: hooking the module onto a point the theme already calls is preferable. If the desired location doesn’t exist in the theme, then yes, the call must be added, and that change must be made so it survives theme updates.
How do I find which hook a module attaches to?
On PrestaShop the Positions page tells you. On WordPress it is read from the extension’s code, in its action and filter registration calls: there is no equivalent screen.