Module · LNK Hero
  • PrestaShop

LNK Hero, the home and category banner that replaces your slider

LNK Hero replaces your PrestaShop shop's slider with a single banner, which you edit in two minutes from the back office. The same banner also shows at the top of your category pages. The module is compatible with PrestaShop 1.7.6, 8 and 9 and works without JavaScript.

  • Version 3.1.4 · PrestaShop 1.7.6 to 8.x
  • Version 3.9.5 · PrestaShop 9
  • PrestaShop 1.7.6 to 9.x
  • PHP 7.1 to 8.4
  • No override

Key points

  • Replaces the slider, slideshow or carousel on your home page
  • Banner also available at the top of each category page
  • Automatically reuses the name, description and image of your categories
  • Customizable category by category from the category form
  • Title, subtitle, selling points, two buttons, badge, image and gradient
  • Live preview while editing
  • No JavaScript, no external resource, GDPR compliant by design
  • Image preloaded with high priority: faster loading, without layout shift
  • Responsive, with an option to hide the banner on mobile
  • Multilingual and multistore
  • Templates can be overridden from your theme
  • PrestaShop 1.7.6 to 8.x with PHP 7.1 to 8.1 (version 3.1), PrestaShop 9.x with PHP 8.1 to 8.4 (version 3.9, native PrestaShop 9 back office); display position chosen automatically for your version

Why replace the home page slider

The carousel is one of the most installed blocks in e-commerce and one of the least effective. It loads a JavaScript library and several full-width images before the visitor has read the first slide. On mobile, the second image is rarely seen, because the customer has already scrolled down. While it loads, the layout shifts under the user's fingers.

A fixed banner loads faster and presents a complete message, with a visual and two buttons. LNK Hero works on this principle.

Customizing the PrestaShop home page banner

All settings are made on a single configuration page of the PrestaShop back office:

  • an eyebrow, a two-line title and a subtitle;
  • up to four bulleted selling points;
  • two call-to-action buttons, with icon, link and colors;
  • a round badge for a strong statement ("Made in France", "48-hour delivery");
  • an image, a background gradient and the color of each element.

A live preview is shown next to the form, using the module's real stylesheet. What you see while editing matches what your visitors will see, without going back and forth between the back office and the shop.

Your theme stays intact: the module installs on PrestaShop's standard positions, present in every official theme.

Banner on PrestaShop category pages

LNK Hero also covers category pages, which few banner modules do. Each category page gets its own header, built automatically from the data you have already entered: the category name serves as the title, its description as the subtitle and its image as the visual.

From installation, all your categories therefore have a banner with no extra input. You then customize the ones that matter, such as your landing pages, directly from their form in Catalog → Categories. The same form lets you hide the banner, or hide it on mobile only.

The module adds a row of links to subcategories, with the number of products in each, so your visitors go down the catalog in one click.

A PrestaShop banner without JavaScript, and loading time

LNK Hero runs no script for your visitors. The banner is written into the HTML sent by the server, with 1.7 to 4.0 KB of compressed CSS depending on the structure. The module loads no Google font, calls no CDN and ships no tracker.

Effects on Core Web Vitals, the speed indicators used by Google:

  • the banner image is preloaded with high priority from the page header; the browser downloads it without waiting for the CSS to be parsed, which brings the LCP forward;
  • its dimensions are written in the image tag, so the browser reserves the space and the page no longer shifts while loading;
  • no script runs at load time, whereas a slider puts the phone's processor to work at that very moment.

You can compare before and after on PageSpeed Insights. The difference is clearest on a shop that has a carousel.

Light and fast

Figures measured on the shipped module, compressed with gzip (level 9). On a page without a banner: nothing, no CSS and no JavaScript. On a page with a banner: 1.7 KB of CSS for the classic structure, and 3.7 to 4.0 KB for a version 3 structure (a 1.7 KB base, plus the structure's own stylesheet, 0.3 to 0.6 KB). No JavaScript on the front office, no jQuery dependency. The preview script, 2.6 KB, only loads in the back office.

For comparison, the slider shipped with PrestaShop (ps_imageslider) loads 2.3 KB of JavaScript, which relies on jQuery, and 0.9 KB of CSS on every page.

Banner and search engine optimization

The text of your banner is HTML text. Search engines read it, it is translated into each language of your shop and screen readers can access it.

The module also handles the heading hierarchy, a point often handled badly by banner blocks. PrestaShop's official themes put no level 1 heading on the home page and already put one on category pages. LNK Hero adapts to the context with an H1 on the home page and an H2 on categories. It thus adds the missing heading without creating a duplicate.

Each image can get its alternative text, and the subcategory row creates internal links to your catalog pages.

Compatible with PrestaShop 1.7.6, 8 and 9

PrestaShop 1.7.6 to 8.x (version 3.1) and 9.x (version 3.9, dedicated)
PHP 7.1 to 8.1 (version 3.1), 8.1 to 8.4 (version 3.9)
Themes Classic, Hummingbird and every theme that uses the standard positions
Multistore Yes, one configuration per shop
Multilingual Yes, one content per language
Front-office JavaScript None
External resources None
Size 150 KB ZIP (3.1) and 185 KB ZIP (3.9); on the front office, 1.7 to 4.0 KB of compressed CSS

The module has been checked on the official themes of all three branches. It installs like any PrestaShop module: Modules → Upload a module, then Configure.

Frequently asked questions

How do I replace the home page slider on PrestaShop?

Install LNK Hero, enter your banner content, then disable your theme's slideshow module from Modules → Module Manager. The banner takes its place immediately, without changing the theme.

Is this module compatible with my PrestaShop version?

Yes, from PrestaShop 1.7.6 to PrestaShop 9, with a single license. The module detects your version and chooses the right display position. On PrestaShop 9, the configuration page is a native Symfony controller.

Does the module contain a core override?

No. The module has no override/ folder. It therefore conflicts with no other module, and a PrestaShop update leaves no orphan file behind.

Do I need to modify my theme?

No. LNK Hero uses PrestaShop's standard positions, present in every official theme from 1.7.6 to 9. If your theme is custom-made and you want the banner in a specific place, we add the hook for you free of charge.

My slider slows down my shop. Will this module do better?

It runs no JavaScript and loads a single small stylesheet, whereas a slider loads a library and several full-width images. The banner image is also preloaded with high priority. For your shop, the most reliable approach is still to measure before and after on PageSpeed Insights.

Can I show a different banner on each category?

Yes. By default, each category gets a banner built from its name, its description and its image. You can then customize everything from its form, or hide the banner on that category.

Does the banner look right on mobile?

Yes. The layout switches to a column, the buttons take the full width, and an option lets you hide the banner on mobile while keeping it on desktop.

Can the module break my theme?

No. Its stylesheet only targets its own elements, with no theme selector and no global rule. If the banner has nothing to show, the module shows no frame.

Is it compatible with my customer reviews module?

Yes. A position is provided inside the banner, below the buttons. It can hold a reviews module, a trust badge or any module that provides a widget. If the chosen module is missing or disabled, the position stays empty and the page displays normally.

Does it work in multistore and multilingual mode?

Yes. All texts are entered in each language of the shop. Appearance settings are passed as CSS variables set on each shop's block, so each shop keeps its own look.

What is left if I uninstall the module?

Nothing. Uninstalling removes its table and its settings. The module never placed any file in the theme or in override/.

Does the module set cookies?

No, and it loads no external resource. Your consent banner stays unchanged.

Release history

14 versions released for PrestaShop

  1. Version 3.9.5 PrestaShop 9

    New

    • "Loading priority" setting for each banner, in Visual > Image. Automatic (default, current behaviour): the image of the first banner with an image on the page is downloaded first and announced to the browser from the head of the page. Priority: the image of this banner goes first; one per page, the first Priority banner on the page wins. Deferred: the image loads when it comes near the screen, and no other banner takes the priority in its place. The background video follows the priority image.
    • Entrance animation, in Style > Animation: fade in, rise, slow zoom on the image, or texts one after another, played once when the banner comes into view. Visitors who reduce animations, and browsers without JavaScript, see the banner straight away; the priority image of the page is never hidden. The small script is loaded only if a banner of the page uses it.
    • Banner background colour, with an image or a video placed next to the text (Side by side, Centred, Product, Mosaic, Split screen, Editorial, Stacked): behind the text and around the image. "Blend the white background" now has a colour to blend into.
    • Gradient overlay, dark at the bottom or at the top, besides the plain overlay: the image stays clear where there is no text.
    • Banner list: a warning shows a home or category banner that is no longer at the top of the page, with a "Put it back at the top" button. After a change of theme, the banner takes the top again where it was; if you moved it yourself, your order is kept.

    Fixes

    • "Edge to edge" width had no effect in a theme that places the banner in its container (Classic): the banner now goes from one edge of the window to the other, without horizontal scrolling, right-to-left included. In a narrower column (category with a side column), it stays in its column.
    • Full screen structure in the theme container (Classic): the text almost touched the edge of the image; it now has an inner margin.
    • Editor preview: the theme button (empty background) showed as an underlined link, and the text of a banner in "Container" width touched the edge.
  2. Version 3.9.4 PrestaShop 9

    Changes

    • Installation: the banner takes the lead on the home page and category pages, instead of hooking below the theme blocks. A shop already equipped keeps its order.
    • "Container" width: the banner content takes your theme's container, so its exact width and inset; text and image line up with the rest of the page (on Hummingbird, the banner overflowed the content). In a theme that already places the banner in its container (Classic), nothing changes. Setting now also offered for Side by side. Existing banners keep exactly the same rendering: they move to the new "As before (outside the theme container)" choice, and the merchant picks "Theme container" for the alignment.
    • Primary button: empty background by default, which shows the primary button of your theme, in its colours. A chosen colour gives a button in those colours. Existing banners keep their colours.
    • Spacing: new "Like the theme" choice, default for new banners. Where the theme already spaces its sections (Hummingbird home page), a banner without a background adds no vertical margin of its own; elsewhere, same as Normal. Setting now also offered for Side by side. Existing banners keep their spacing.

    Fixes

    • Category demo banner: its text promised that the category name and description would replace it, which did not happen; it now says what it does. It no longer repeats the name, description or subcategories that the theme already shows.
  3. Version 3.9.3 PrestaShop 9

    Changes

    • Primary and secondary buttons: "Show this button" switch; off, the button fields fold away and nothing is displayed, without emptying the text. An existing banner keeps its display (button on if it has a text). Button or badge on without a text: message in the editor.
    • Visual panel: focus point shown only where the image is cropped or placed in a frame, overlay only where it is displayed (not in Side by side, Split screen, Mosaic or Featured product).
    • Image style, where the image is an object (Side by side, Centred, Mosaic, Featured product): corners (slightly, very rounded, pill or circle), background and shape (blend the white background, faded edges, circle, arch, organic shape), soft or strong shadow following the shape. Stylesheet loaded only when a banner of the page uses it.
    • Banner editor: each Layout and Style setting only appears for the structures where it has an effect, and follows the chosen structure live (without JavaScript, everything stays visible). "Text position" now only shows for Full bleed and Card, without a technical parenthesis.
    • Side by side structure: new "Vertical alignment of the text" setting (top, middle, bottom) in its column. It takes over the vertical part of the position already chosen: no existing setting is lost.

    Fixes

    • Side by side structure: the self-hosted video is now displayed, in the image column, with the same rules as the other structures (muted, looping, the image as poster; image only on mobile and when the visitor reduces motion). The corners, shape and shadow of the image also apply to the video. In the editor, the "Video" choice disappears from the structures that do not play it (Typographic, Mosaic, Featured product), with a message if it was already chosen.
    • Banner editor: on opening, the fields shown are those of the language announced by the language button (the employee's). They used to stay in the default language: an Arabic or English employee overwrote the French text while thinking they were typing their own.
Show the 11 previous versions
  1. Version 3.9.2 PrestaShop 9

    Changes

    • Redesigned administration: banners grouped by placement (drag and drop for the order, thumbnail, targeting, period, switch), import by dropping a file; editor in sections (Content, Visual, Layout, Style, Mobile, Targeting, Category pages) with a live desktop or mobile preview, language of the texts chosen at the top of the page, selling points added one by one.
    • Category page: LNK Hero block with three modes (general, dedicated, hidden banner), texts, buttons, visual and colours in tabs, values of the general banner shown in the empty fields, preview.
    • Shop: each stylesheet is only loaded on the pages that need it; the « side by side » structure, the other structures and the subcategories each have their own, and a page without a banner loads none.
    • Banner texts stored in native PrestaShop multilingual columns (one column per text, one row per language); texts specific to a category in their own multilingual table. The update converts existing data without changing the display.
    • A new installation no longer writes the version 2 configuration.

    Fixes

    • Migration from version 2: selling points keep their slot. An empty slot followed by a filled one (for example point 4 without point 3) no longer shifts the point, which a category page setting used to hide. Shops already updated get the original slot back when the banner has not been edited since.
    • Banner images and videos stored in the shop's image folder (img/lnk_hero/), outside the module folder: an update that replaces the module can no longer erase them. The update moves the existing files there.
    • An image or video whose file has disappeared is flagged in the list and in the editor ("File not found, upload it again") instead of a broken image.
    • Category page in French or Arabic: the translation of the "1 product" counter under a subcategory link made the page crash on PHP 8 when a subcategory had a single product.
    • Chained update from an older version: no more failure on a hook that is already registered.
    • "Side by side" structure: default side margin when the banner is not inside the theme's container (Hummingbird, back-office preview); the text no longer touches the edge of the screen, in French as in Arabic. Unchanged inside a container. Themes set it with the --lnk-hero-gutter variable.
    • Editor preview in Arabic reads right to left, like the shop.
    • Editor and category page fields: each text carries its language, and Arabic is typed right to left.
    • Stylesheets served with a fingerprint of their content (shop, back office and editor preview): after an update, a cache or CDN no longer serves the old stylesheet.
    • Full-width editor preview: the banner is rendered at the available width and fills it, instead of staying at 992 px against the left edge.
    • Shop and back office in Arabic: the layout reads right to left (logical CSS properties), as PrestaShop does not flip module stylesheets. Unchanged in French and English.
  2. Version 3.9.1 PrestaShop 9

    New

    • AVIF variants of the images, when the server can produce them; otherwise WebP, as before.
    • Demo banners at installation (texts in French, English and Arabic, image), turned off until you edit and turn them on.

    Changes

    • “Side by side” structure: responsive image like the other structures (one variant per screen width, AVIF then WebP), and preloading of the matching variant instead of the full-size image.
    • Back office fully translated into French and Arabic.
    • Live preview: frames scaled to the available width, with no horizontal scrolling; an instruction replaces the preview while the banner has no title and no image.
    • CSS variable --lnk-hero-fg renamed --lnk-hero-text; the old name is still read.
    • Licence updated.
  3. Version 3.9.0 PrestaShop 9

    Version of 3.1.0 for PrestaShop 9, same features. The middle digit indicates the PrestaShop branch: 3.1.x for 1.7.6 to 8.x (branch prestashop/legacy, HelperForm, no Symfony code), 3.9.x for 9.x (branch main).

    Changes

    • Symfony back office only; the HelperForm (LnkHeroAdmin) is removed from this branch.
    • config/routes.yml and config/services.yml shipped in place: this version only installs on PrestaShop 9 (ps_versions_compliancy min 9.0.0, max 9.99.99). No more deployment at installation from config/ps9/.
    • upgrade/upgrade-3.9.0.php takes over 2.x and 3.1.x (shop moved from 8 to 9): tables, migration, tab pointed to the Symfony route, copies from config/ps9/ removed.
  4. Version 3.1.4 PrestaShop 1.7.6 to 8.x

    New

    • "Loading priority" setting for each banner, in Visual > Image. Automatic (default, current behaviour): the image of the first banner with an image on the page is downloaded first and announced to the browser from the head of the page. Priority: the image of this banner goes first; one per page, the first Priority banner on the page wins. Deferred: the image loads when it comes near the screen, and no other banner takes the priority in its place. The background video follows the priority image.
    • Entrance animation, in Style > Animation: fade in, rise, slow zoom on the image, or texts one after another, played once when the banner comes into view. Visitors who reduce animations, and browsers without JavaScript, see the banner straight away; the priority image of the page is never hidden. The small script is loaded only if a banner of the page uses it.
    • Banner background colour, with an image or a video placed next to the text (Side by side, Centred, Product, Mosaic, Split screen, Editorial, Stacked): behind the text and around the image. "Blend the white background" now has a colour to blend into.
    • Gradient overlay, dark at the bottom or at the top, besides the plain overlay: the image stays clear where there is no text.
    • Banner list: a warning shows a home or category banner that is no longer at the top of the page, with a "Put it back at the top" button. After a change of theme, the banner takes the top again where it was; if you moved it yourself, your order is kept.

    Fixes

    • "Edge to edge" width had no effect in a theme that places the banner in its container (Classic): the banner now goes from one edge of the window to the other, without horizontal scrolling, right-to-left included. In a narrower column (category with a side column), it stays in its column.
    • Full screen structure in the theme container (Classic): the text almost touched the edge of the image; it now has an inner margin.
    • Editor preview: the theme button (empty background) showed as an underlined link, and the text of a banner in "Container" width touched the edge.
  5. Version 3.1.3 PrestaShop 1.7.6 to 8.x

    Changes

    • Installation: the banner takes the lead on the home page and category pages, instead of hooking below the theme blocks. A shop already equipped keeps its order.
    • "Container" width: the banner content takes your theme's container, so its exact width and inset; text and image line up with the rest of the page (on Hummingbird, the banner overflowed the content). In a theme that already places the banner in its container (Classic), nothing changes. Setting now also offered for Side by side. Existing banners keep exactly the same rendering: they move to the new "As before (outside the theme container)" choice, and the merchant picks "Theme container" for the alignment.
    • Primary button: empty background by default, which shows the primary button of your theme, in its colours. A chosen colour gives a button in those colours. Existing banners keep their colours.
    • Spacing: new "Like the theme" choice, default for new banners. Where the theme already spaces its sections (Hummingbird home page), a banner without a background adds no vertical margin of its own; elsewhere, same as Normal. Setting now also offered for Side by side. Existing banners keep their spacing.

    Fixes

    • Category demo banner: its text promised that the category name and description would replace it, which did not happen; it now says what it does. It no longer repeats the name, description or subcategories that the theme already shows.
  6. Version 3.1.2 PrestaShop 1.7.6 to 8.x

    Changes

    • Primary and secondary buttons: "Show this button" switch; off, the button fields fold away and nothing is displayed, without emptying the text. An existing banner keeps its display (button on if it has a text). Button or badge on without a text: message in the editor.
    • Visual panel: focus point shown only where the image is cropped or placed in a frame, overlay only where it is displayed (not in Side by side, Split screen, Mosaic or Featured product).
    • Image style, where the image is an object (Side by side, Centred, Mosaic, Featured product): corners (slightly, very rounded, pill or circle), background and shape (blend the white background, faded edges, circle, arch, organic shape), soft or strong shadow following the shape. Stylesheet loaded only when a banner of the page uses it.
    • Banner editor: each Layout and Style setting only appears for the structures where it has an effect, and follows the chosen structure live (without JavaScript, everything stays visible).
    • Side by side structure: "Vertical alignment of the text" setting (top, middle, bottom) in its column, taken from the vertical part of the position already chosen.
    • Redesigned administration: banners grouped by placement (drag and drop for the order, thumbnail, targeting, period, switch), import by dropping a file; editor in sections (Content, Visual, Layout, Style, Mobile, Targeting, Category pages) with a live desktop or mobile preview, language of the texts chosen at the top of the page, selling points added one by one.
    • Category page: LNK Hero block with three modes (general, dedicated, hidden banner), texts, buttons, visual and colours in tabs, values of the general banner shown in the empty fields, preview.
    • Shop: each stylesheet is only loaded on the pages that need it; the « side by side » structure, the other structures and the subcategories each have their own, and a page without a banner loads none.
    • Banner texts stored in native PrestaShop multilingual columns (one column per text, one row per language); texts specific to a category in their own multilingual table. The update converts existing data without changing the display.
    • A new installation no longer writes the version 2 configuration.

    Fixes

    • Side by side structure: the self-hosted video is now displayed, in the image column, with the same rules as the other structures (muted, looping, the image as poster; image only on mobile and when the visitor reduces motion). The corners, shape and shadow of the image also apply to the video. In the editor, the "Video" choice disappears from the structures that do not play it (Typographic, Mosaic, Featured product), with a message if it was already chosen.
    • Migration from version 2: selling points keep their slot. An empty slot followed by a filled one (for example point 4 without point 3) no longer shifts the point, which a category page setting used to hide. Shops already updated get the original slot back when the banner has not been edited since.
    • Banner images and videos stored in the shop's image folder (img/lnk_hero/), outside the module folder: an update that replaces the module can no longer erase them. The update moves the existing files there.
    • An image or video whose file has disappeared is flagged in the list and in the editor ("File not found, upload it again") instead of a broken image.
    • Category page in French or Arabic: the translation of the "1 product" counter under a subcategory link made the page crash on PHP 8 when a subcategory had a single product.
    • Chained update from an older version: no more failure on a hook that is already registered.
    • PrestaShop 1.7.6 and 1.7.7: the administration and the shop texts are shown in the merchant's language (they stayed in English).
    • "Side by side" structure: default side margin when the banner is not inside the theme's container (Hummingbird, back-office preview); the text no longer touches the edge of the screen, in French as in Arabic. Unchanged inside a container. Themes set it with the --lnk-hero-gutter variable.
    • Editor preview in Arabic reads right to left, like the shop.
    • Editor and category page fields: each text carries its language, and Arabic is typed right to left.
    • Stylesheets served with a fingerprint of their content (shop, back office and editor preview): after an update, a cache or CDN no longer serves the old stylesheet.
    • Full-width editor preview: the banner is rendered at the available width and fills it, instead of staying at 992 px against the left edge.
    • Shop and back office in Arabic: the layout reads right to left (logical CSS properties), as PrestaShop does not flip module stylesheets. Unchanged in French and English.
  7. Version 3.1.1 PrestaShop 1.7.6 to 8.x

    New

    • AVIF variants of the images, when the server can produce them; otherwise WebP, as before.
    • Demo banners at installation (texts in French, English and Arabic, image), turned off until you edit and turn them on.

    Changes

    • “Side by side” structure: responsive image like the other structures (one variant per screen width, AVIF then WebP), and preloading of the matching variant instead of the full-size image.
    • Back office fully translated into French and Arabic.
    • Live preview: frames scaled to the available width, with no horizontal scrolling; an instruction replaces the preview while the banner has no title and no image.
    • CSS variable --lnk-hero-fg renamed --lnk-hero-text; the old name is still read.
    • Licence updated.

    Fixes

    • Black live preview when opening the editor.
  8. Version 3.1.0 PrestaShop 1.7.6 to 8.x

    First version 3: several banners per page, ten layouts, background video, thirty templates, live preview, zero JavaScript on the front office. Update from 2.x through PrestaShop's native framework, with no display change at all (byte-identical HTML, checked on 1.7.8, 8.1 and 9.0).

    New

    • Multiple banners: tables lnk_hero_banner (+ _lang, _shop), multilingual and multistore. Each banner has its position, its order and its period.
    • Ten layouts: side by side, centered, full frame, card, stacked, typographic, split screen, editorial, mosaic (one to four images; tiles 2 to 4 decorative and deferred), featured product. Adjustable composition (3 × 3 position, alignment, widths, height, spacing, corners, shadow), dedicated mobile settings. Each layout stylesheet weighs less than 2 KB and is only loaded if the page displays it.
    • Featured product: image, name and real price (discounts included) of a catalog product; empty title, text, image and button taken from the product; inactive or invisible product: banner hidden.
    • Self-hosted background video (MP4, WebM; 20 MB) with a mandatory image. Downloaded only on desktop, in the first visible banner, without "reduce motion" (media on the source): measured at 0 bytes of video on mobile and further down the page. Container signature checked, name and extension chosen by the module.
    • Shortcut tiles below a banner: chosen categories and free links.
    • Targeting: page types, categories (list, branch, exclusions), CMS pages, period, customer groups, behavior from page 2 of a listing.
    • Images: GD re-encoding of every uploaded file, sizes from 480 to 1920 px, WebP, mobile image, focal point, overlay, average color. Preloading of the first visible image only (visual order: the top of the page comes before the home content), with imagesrcset.
    • Thirty ready-to-use templates, by use: design only (layout, composition, colors, style, mobile arrangement), texts, images and targeting kept; each one passes the contrast check.
    • Live preview for desktop and mobile in both back offices, rendered by the server with the front-office code; nothing is saved before the Save button.
    • WCAG AA contrast check while typing (LnkHeroContrast): only known colors are compared; on a photo, estimate based on the image's average color.
    • Export and import of a banner as JSON, images and video embedded and checked on import; on another shop, targeting by identifiers is reset.
    • Theme contract 1 (docs/THEME-CONTRACT.md): named position {hook h='displayLnkHero' slot='…'}, seeding themes/<theme>/modules/lnk_hero/seed.json imported once at installation by the theme (LNK_HERO_THEME) or when it is activated, and from the banner list; guaranteed CSS variables and template variables. Proven on PrestaShop 9.0 with a theme compiled by youtheme.
    • Tag of each heading: title and eyebrow as H1 to H6, p or span (document outline for SEO; the appearance does not change).
    • Category pages: description length, image source, subcategories, category form settings applied per banner.
    • Banner list: order, activation, duplication, deletion, export.
    • LnkHeroSchema (single sanitization rule), LnkHeroForm (single description of the form), LnkHeroManager (operations shared by both back offices).
    • Tests: test-v3.php, test-images.php, upgrade-check.sh, real back-office journeys tests/bo-*.js.

    Changes

    • PrestaShop 9 back office rewritten: list, tabbed editor and settings in Symfony, generated from the same description as the HelperForm. Read / edit permissions per action, POST actions with a CSRF token. Routes redeployed by the update.
    • Back office 1.7.6 to 8: tabbed HelperForm list and editor.
    • Minimum version: PrestaShop 1.7.6.
    • Admin classes are no longer loaded on the shop side.

    Removed

    • The 2.x live preview (views/js/admin.js, views/css/admin.css): it only covered one layout; replaced by the server preview, valid for all of them.
    • The displayBackOfficeHeader hook, only used by that preview (unregistered by the update).
  9. Version 2.1.0 PrestaShop 1.7.6 to 8.x

    New

    • Symfony back office on PrestaShop 9: PrestaShopAdminController controller (the base introduced in 9.0; FrameworkBundleAdminController is @deprecated there), #[AdminSecurity] attribute, Symfony form with TranslatableType and SwitchType, Twig template extending @PrestaShop/Admin/layout.html.twig.
    • composer.json + generated PSR-4 autoloader (Lnkboot\LnkHero\ → src/). PrestaShop 9 includes modules/<module>/vendor/autoload.php through ContainerBuilder: without it, the controller class cannot be found and the container does not build.
    • The back-office tab uses Tab::$route_name on PS 9 and points directly to the Symfony route; getContent() redirects there those who arrive through Modules → Configure.

    Changes

    • config/routes.yml and config/services.yml are deployed at installation from config/ps9/, and only if the shop runs 9.x. Shipping them as is would break 1.7 and 8 shops: services.yml is compiled when the container is built and would reference a class whose parent class does not exist, which would bring down the whole back office. They are removed at uninstallation.
    • PrestaShop 1.7 and 8 keep the HelperForm editor. Both editors write the same schema (LnkHeroConfig): a shop that upgrades loses no setting.
    • Explicit fallback: if the deployment fails (read-only folder), the module serves the HelperForm instead of failing.
  10. Version 2.0.0 PrestaShop 1.7.6 to 8.x

    First distributable version. 1.x was a custom development for a single site; this version makes it installable anywhere. See docs/UPGRADE-FROM-V1.md.

    New

    • PrestaShop 1.7.6 → 8.x compatibility (9.x: version 3.9.0), isolated in classes/LnkHeroCompat.php.
    • Configurable positions: displayHome / displayHeaderCategory (default, no theme to modify), displayContentWrapperTop, or the custom hook displayLnkHero.
    • Lock against double rendering per request.
    • "Restrict to these themes" setting (replaces the hard-coded theme guard).
    • Configurable heading level, with an automatic mode: h1 on the home page, h2 on categories, so no H1 duplicates the theme's own.
    • Image alternative text, configurable and multilingual.
    • width / height on the hero image from the dimensions recorded at upload (CLS).
    • <link rel="preload" fetchpriority="high"> on the hero image (LCP).
    • "Module rendered below the buttons" setting to insert a third-party module in the hero.
    • Complete documentation: installation, hooks, compatibility, SEO, custom hooks, marketplace pitch.

    Changes

    • Configurable values become inline CSS variables instead of generated CSS files: no more disk writes, correct behavior in multistore, and no more fixes stuck in CDN caches.
    • Single hero.tpl template for the home page and categories.
    • All strings go through $this->l() and {l s='' d='Modules.Lnkhero.Shop'}.
    • Strict sanitization of colors (allow list #rrggbb, rgb(), keyword) and URLs (rejection of javascript:, data:).
    • CSS classes renamed mc-* → lnk-*.
    • The stylesheet now only targets the module's classes: no rule applies to the host theme any more.

    Fixes

    • A {widget name='...'} on a missing module no longer breaks the page: the rendering of a third-party module is wrapped.
    • A category override with empty fields no longer overwrites the global configuration.
    • The "from" price no longer calls Tools::displayPrice(), removed in PrestaShop 9.

    Removed

    • Hard-coded theme guard magic-custom-v2.
    • Hard-coded calls to the lnk_reviews and lnk_reassurance modules (now optional and defensive).
    • Client demo image embedded in the module.
    • Generated CSS files hero-custom.css and hero-cat-custom.css.
  11. Version 1.4.0 PrestaShop 1.7.6 to 8.x

    Custom version: home and category hero, editor with live preview, per-category overrides. Not distributable (tied to the magic-custom-v2 theme).

Your cart

Your cart is empty.