YouTube Feed Integration: setup and help
Quick start
- Upload and install the
mpryoutubeintegrationZIP in Modules > Module Manager. - Click Configure. In YouTube Connection, leave Enable Module set to Yes.
- Enter real public Video URLs (Manual), one per line. You do not need an API key for this first test.
- In Display Settings, select Display Hook
displayHome. Keep Layout > Layout Type atgrid. - In Video Info, select Player Mode
embedfor the lightbox ornewtabfor YouTube. - Click Save, then open the storefront where the selected hook is rendered.
- Check the thumbnails, click a video, and verify playback or the YouTube destination. In embed mode, close the player and confirm playback stops.
Requires PrestaShop 1.6 or later and PHP 7.1 or later.
Setup manual
Installation and first configuration
On older PrestaShop versions, use the equivalent module installation page. Open this module through Configure whenever you need to return to its settings.
YouTube Connection
| Setting | Default | What you do |
|---|---|---|
| Enable Module | Yes | Turn the standalone storefront feed on or off. |
| YouTube API Key | Empty | Enter a key for YouTube Data API v3 only if you want automatic channel or playlist retrieval. |
| Channel ID | Empty | Set the channel source and subscribe-button target. This expects the channel ID, not an @handle. |
| Channel Name | Empty | Set the channel link label in the titled feed header. Set Channel ID too so the link has a destination. |
| Playlist ID | Empty | Use this as the API source when present. It takes precedence over Channel ID. |
| Video URLs (Manual) | Empty | Enter supported public video URLs, one per line. These are also a fallback if no API videos are returned. |
Display Settings
| Setting | Default | What you do |
|---|---|---|
| Display Hook | displayHome |
Choose displayHome, displayFooterBefore, displayFooter, displayLeftColumn, or displayRightColumn. Your theme must render the selected hook. |
| Section Title | Our YouTube Channel |
Set the feed heading. Leave empty to hide it. |
| Show Subscribe Button | Yes | Show the channel subscribe link when Channel ID is set. |
| Subscribe Button Text | Subscribe |
Set the button label. |
| Show on Mobile | Yes | Allow the feed for visitors detected as mobile by PrestaShop. |
The header’s profile/channel link is nested inside the section-title block. Set a Section Title if you want that header link to appear. The separate follow/subscribe button has its own switch.
Layout
| Setting | Default | What you do |
|---|---|---|
| Layout Type | grid |
Choose grid or slider. |
| Number of Videos | 6 |
Set a positive number. API requests are capped at 25 videos. |
| Columns (Desktop) | 3 |
Choose 2, 3, or 4 grid columns. |
| Columns (Mobile) | 1 |
Choose 1 or 2 grid columns. |
| Gap (px) | 16 |
Set grid spacing in pixels. |
| Border Radius (px) | 8 |
Set rounded item corners. |
| Hover Effect | zoom |
Choose overlay, zoom, fade, or none. |
Column and spacing controls apply to the feed layout. Review the carousel at your storefront's desktop and mobile widths.
Video Info
| Setting | Default | What you do |
|---|---|---|
| Show Title | Yes | Show the video title and available channel-author line. This also wraps the formatted date beneath the title. |
| Show Duration | Yes | Show duration only when API video details include it. |
| Show Views | Yes | Show the formatted count when API statistics are available. |
| Show Date | Yes | Show a relative-date overlay and available formatted source date. The date beneath the title also requires Show Title and a non-empty title. |
| Player Mode | embed |
Choose embed for an on-page lightbox or newtab for a YouTube tab. |
Advanced
| Setting | Default | What you do |
|---|---|---|
| Lazy Load | Yes | Load thumbnail/media images through JavaScript near the viewport. Disable if that loading is blocked. |
| Auto Scroll (Slider) | No | Automatically advance the carousel. This has no effect on grid/list output. |
| Scroll Speed (ms) | 4000 |
Set the carousel interval in milliseconds. |
| Cache Duration | 3600 |
Reuse retrieved data for this many seconds. Choices are 900, 1800, 3600, 7200, 21600, and 86400. |
Manual videos, channel, and playlist sources
For manual videos, use these URL formats with a real 11-character YouTube video ID:
https://www.youtube.com/watch?v=ABCDEFGHIJK
https://youtu.be/ABCDEFGHIJK
https://www.youtube.com/embed/ABCDEFGHIJK
https://www.youtube.com/shorts/ABCDEFGHIJK
The example ID is a placeholder. Replace it with an available video. The parser extracts the ID and builds the watch URL, embed URL, and img.youtube.com thumbnail URL. It requests YouTube oEmbed for the title and author. A valid parsed ID still produces a card if oEmbed fails, but the title/author can be empty and the thumbnail/player can fail.
For an automatic source, enter YouTube API Key plus Playlist ID or Channel ID. With a playlist set, the module uses the playlistItems endpoint. Otherwise it uses search for the channel’s videos ordered by date. It then requests videos details for durations and statistics. The result is capped at 25 per API request. If no API videos are returned, it falls back to manual URLs. It does not retry Channel ID after a failed playlist request.
Manual mode has no duration, view count, or publish date. API date display uses the date supplied by the selected source. You display one configured feed; the module has no per-product video assignments. A product page can show the same feed if its theme renders the selected hook.
Player behavior
In Player Mode embed, the module’s JavaScript intercepts the thumbnail link and opens a lightbox. It fills a YouTube iframe URL with autoplay=1&rel=0. Use the close button, click the backdrop, or press Escape to close it. Closing clears the iframe source and stops playback.
In newtab mode, the link opens the YouTube watch page in a new tab. With JavaScript unavailable, the thumbnail link also leads to YouTube, though JavaScript-based lazy thumbnails may remain unloaded. The module does not control the remote player’s availability, ads, or account/video restrictions. Test the specific videos you intend to use.
Feed thumbnails are requested directly by the visitor's browser from their source URLs; manual videos use img.youtube.com. In embed mode, clicking a video also loads a youtube.com iframe. Selecting newtab avoids the on-page player but does not remove thumbnail requests. Lazy loading and clicking to play are not consent checks; the supplied thumbnail and player code has no built-in consent gate.
Cache and refresh
The feed cache uses this local file:
modules/mpryoutubeintegration/mpryoutube_feed_cache.json
Feed data is stored in one local JSON file per module installation, shared by shops using that directory. A storefront request fetches videos when the cache is missing or expired. No scheduled background worker refreshes this feed.
Use Clear Cache to delete the cached file. Saving the main settings also clears it. The next storefront request fetches fresh videos; existing cached content is not kept visible during that request.
Only nonempty results are saved. If retrieval fails or returns no videos, that request shows no feed and later storefront requests try again. An expired file may remain on disk, but its old videos are not served. API counts and relative dates reflect the cached response.
Configuration examples and theme adjustments
The examples below describe values to enter in the back-office forms. They are not shell commands. Replace account names, pin/video IDs, and credentials with real values. The theme hook must match Display Hook.
Manual product demo grid without an API key:
MPRYOUTUBE_ENABLED=1
MPRYOUTUBE_VIDEO_URLS=https://www.youtube.com/watch?v=ABCDEFGHIJK
https://youtu.be/LMNOPQRSTUV
https://www.youtube.com/shorts/WXYZabcdefg
MPRYOUTUBE_DISPLAY_HOOK=displayHome
MPRYOUTUBE_LAYOUT=grid
MPRYOUTUBE_POST_COUNT=3
MPRYOUTUBE_COLUMNS=3
MPRYOUTUBE_PLAYER_MODE=embed
Playlist slider with cached API fetching:
MPRYOUTUBE_ENABLED=1
MPRYOUTUBE_API_KEY=AIza...
MPRYOUTUBE_PLAYLIST_ID=PL...
MPRYOUTUBE_DISPLAY_HOOK=displayFooterBefore
MPRYOUTUBE_LAYOUT=slider
MPRYOUTUBE_POST_COUNT=6
MPRYOUTUBE_AUTO_SCROLL=1
MPRYOUTUBE_SCROLL_SPEED=4000
MPRYOUTUBE_CACHE_DURATION=3600
Accepted manual URL formats:
https://www.youtube.com/watch?v=ABCDEFGHIJK
https://youtu.be/ABCDEFGHIJK
https://www.youtube.com/embed/ABCDEFGHIJK
https://www.youtube.com/shorts/ABCDEFGHIJK
If your theme does not output the selected hook, add the matching PrestaShop hook call in the relevant Smarty template:
{hook h='displayFooterBefore'}
Theme CSS can target the module's storefront classes:
.mprfeed-youtube .mprfeed-title {
font-size: 20px;
}
.mprfeed-youtube .mprfeed-follow-youtube {
background: #cc0000;
}
.mprfeed-youtube .mprfeed-caption {
min-height: 2.8em;
}
The feed cache uses this local file:
modules/mpryoutubeintegration/mpryoutube_feed_cache.json
Keep CSS and template changes in your theme.
Verification and troubleshooting
- If the section is absent, check Enable Module, the source fields, Show on Mobile, and the selected hook. The module returns no section when no items are available.
- Check that your theme calls
displayHeaderto load the stylesheet and JavaScript, and renders your selected display hook. - If images remain blank, inspect browser network errors. Try disabling lazy loading and check the image URLs.
- If the layout is wrong, test the grid first, then verify the carousel at desktop and mobile widths.
- If MPR Social Revolution has its
YOUTUBE_ACTIVEsetting enabled, this standalone feed is suppressed. This check reads the saved flag; it does not require Social Revolution to be currently enabled as a module.
Open the module’s Integrity page for configuration and hook checks. License, Support, and Update are maintenance pages. Test the actual destinations after changing account identifiers or feed sources.
Disable or uninstall
Set Enable Module to No and save to hide the feed while retaining its configuration. Uninstall through the module manager to remove this module’s configuration, local cache, and admin menu entries.
Questions
No questions about this module yet
Ask anything about installation, compatibility or setup. Answers appear here.
Known Issues
8
API key could not be saved from guided setup
Invalid API-key submissions were accepted
Setup warning remained after saving
Missing translations
PHP 7.1 loading compatibility
Module administration could fail to open
Configuration page did not expose feed settings
Feed display missed video and subscribe information
Feature Requests
1
Implemented
Guided video-source setup
Changelog
v1.0.132026-09-08
- Addedcomplete FR/DE/ES/IT/PL translations
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-02-06
- AddedPS 9 / Hummingbird theme compatibility
- Addedplaylist support alongside channel display
- Improvedlazy-load iframes — YouTube thumbnails load as images, iframe created on click
- Fixedvideo grid overflow on 5-column layouts on 1440p screens
v1.0.02025-09-18
- Initialrelease: YouTube channel and playlist video display for PrestaShop
- InitialGrid layout with configurable column count and video thumbnails
- InitialBack-office configuration for channel ID, API key, and layout type
- InitialCompatible with PS 1.7.x and PS 8.x
v1.1.02025-07-28
- Addedslider layout option with autoplay and configurable interval
- Addedvideo count limiter per widget placement
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.
By downloading, you accept the demo terms and privacy policy.
By opening this demo you accept the demo terms and the privacy policy.