Intégration X (Twitter) Feed : installation et aide
Démarrage rapide
- Téléversez et installez le ZIP
mprxintegrationdans Modules > "Module Manager". - Cliquez sur "Configure". Dans Connexion X (Twitter), laissez Activer le module activé.
- Saisissez Bearer token pour la lecture via X API v2 et Nom d'utilisateur X sans
@. Laissez ID utilisateur X vide pour le résoudre automatiquement. - Dans Paramètres d'affichage, sélectionnez le hook standard Hook d'affichage
displayHome. Laissez Activer le widget personnalisé désactivé. - Laissez Mode de mise en page sur
gridet définissez un nombre positif pour Nombre de publications, comme6. Cliquez sur Enregistrer. - Utilisez Synchroniser maintenant dans le panneau de connexion/cache pour récupérer immédiatement les publications, puis consultez le résultat.
- Ouvrez la boutique au hook sélectionné, vérifiez les cartes des publications et cliquez sur une carte pour confirmer sa destination X.
Nécessite PrestaShop 1.6 ou ultérieur et PHP 7.1 ou ultérieur.
Manuel de configuration
Installation et première configuration
Sur les anciennes versions de PrestaShop, utilisez la page d’installation des modules correspondante. Ouvrez ce module via "Configure" pour revenir à ses réglages.
Connexion X (Twitter)
| Réglage | Valeur par défaut | Action à effectuer |
|---|---|---|
| Activer le module | Oui | Affichez ou masquez le flux autonome de la boutique. |
| Bearer token | Vide | Saisissez le jeton X API v2 utilisé pour lire le flux. Votre accès API doit autoriser les endpoints utilisateur et de fil demandés. |
| Nom d'utilisateur X | Vide | Saisissez le pseudonyme sans @. Il est utilisé pour rechercher l’ID et pour les liens de suivi. |
| ID utilisateur X | Vide | Laissez vide pour une recherche à l’enregistrement, à la synchronisation ou à la récupération. Un ID enregistré non vide est réutilisé. |
| Clé API (Consumer Key) | Vide | Saisissez la clé consommateur OAuth 1.0a uniquement si vous configurez la publication du blog. |
| Secret API (Consumer Secret) | Vide | Saisissez le secret consommateur correspondant pour la publication. |
| Jeton d'accès | Vide | Saisissez le jeton de publication OAuth 1.0a du compte. Il est distinct de Bearer token. |
| Secret du jeton d'accès | Vide | Saisissez le secret du jeton OAuth 1.0a correspondant. |
Paramètres d'affichage
| Réglage | Valeur par défaut | Action à effectuer |
|---|---|---|
| Hook d'affichage | displayHome |
Choisissez displayHome, displayFooterBefore, displayFooter, displayLeftColumn ou displayRightColumn. Votre thème doit rendre le hook sélectionné. |
| Titre de section | Follow us on X |
Définissez le titre du flux. Laissez vide pour le masquer. |
| Afficher le bouton Suivre | Oui | Affichez le lien de profil dans l’en-tête du flux lorsque le nom d’utilisateur est renseigné. |
| Texte du bouton Suivre | Follow @ |
Définissez le texte précédant le nom d’utilisateur. Il est accolé directement au nom d’utilisateur. |
| Afficher sur mobile | Oui | Autorisez le flux pour les visiteurs détectés sur mobile par PrestaShop. |
| Réglage | Valeur par défaut | Action à effectuer |
|---|---|---|
| Thème | light |
Choisissez des cartes claires ou sombres. |
| Activer le widget personnalisé | Non | Cette version ne dispose pas de rendu fonctionnel pour le widget personnalisé. Laissez cette option désactivée et utilisez un hook d’affichage standard. |
Le menu Hook d'affichage propose aussi Widget personnalisé (utilisez {widget} dans les modèles), mais cette version ne prend pas en charge ce rendu. Choisissez un hook standard, y compris pour placer le flux dans un template du thème.
Mise en page et apparence
| Réglage | Valeur par défaut | Action à effectuer |
|---|---|---|
| Mode de mise en page | grid |
Choisissez grid, slider ou list. La liste utilise un balisage vertical distinct. |
| Nombre de publications | 6 |
Définissez un nombre positif. La logique de récupération X limite le nombre affiché à 20. |
| Colonnes | 3 |
Choisissez 1 à 4 colonnes de grille ou cartes visibles du carrousel à partir de 992px de largeur. |
| Colonnes mobiles | 1 |
Choisissez 1 ou 2 colonnes de grille ou cartes visibles du carrousel sous 768px. |
| Longueur max. du texte | 280 |
Limitez le texte affiché. Utilisez 0 pour éviter sa troncature. |
| Espacement entre les publications (px) | 16 |
Définissez l’espacement de la grille, de la liste et du carrousel. Utilisez 0 pour supprimer l’espacement. |
| Rayon de bordure (px) | 12 |
Définissez l’arrondi des angles des cartes. |
| Effet de survol | elevate |
Choisissez elevate, glow, border ou none. |
Les réglages de colonnes s’appliquent à la grille et au carrousel. De 768px à 991px de largeur, le carrousel et les grilles contenant au moins deux publications utilisent deux colonnes ; une grille contenant une seule publication reste sur une colonne. Sous 768px, ils utilisent Colonnes mobiles. Les grilles contenant seulement une ou deux publications utilisent respectivement une ou deux colonnes sur ordinateur, et une colonne sur mobile. L’espacement et le rayon de bordure s’appliquent à tous les modes de mise en page, y compris au carrousel.
Contenu et métadonnées de l'article
| Réglage | Valeur par défaut | Action à effectuer |
|---|---|---|
| Afficher le texte du tweet | Oui | Affichez le texte de publication en cache. |
| Afficher les médias (images) | Oui | Affichez les images jointes ou les aperçus. Les pièces jointes vidéo et GIF animés affichent des aperçus avec un badge vidéo. |
| Afficher la date | Oui | Affichez la date relative en cache. |
| Afficher le nombre de mentions J'aime | Oui | Affichez le nombre de mentions J’aime renvoyé par l’API. |
| Afficher le nombre de retweets | Oui | Affichez le nombre de republications renvoyé par l’API. |
| Afficher le nombre de réponses | Oui | Affichez le nombre de réponses renvoyé par l’API. |
| Afficher l'auteur | Oui | Affichez l’avatar, le nom d’affichage et le pseudonyme disponibles. |
| Exclure les réponses | Oui | Demandez le fil sans réponses. |
| Exclure les retweets | Oui | Demandez le fil sans republications. |
Carrousel et performances
| Réglage | Valeur par défaut | Action à effectuer |
|---|---|---|
| Chargement différé des images | Oui | Chargez les vignettes/images multimédias via JavaScript à proximité de la zone visible. Désactivez si ce chargement est bloqué. |
| Défilement automatique (Slider) | Oui | Faites avancer automatiquement le carrousel. Cela n’a aucun effet sur l’affichage en grille/liste. |
| Vitesse de défilement | 5000 |
Définissez l’intervalle du carrousel en millisecondes. Les choix sont 2000, 3000, 5000, 8000 et 10000. |
| Durée du cache | 3600 |
Réutilisez les données récupérées pendant ce nombre de secondes. Les choix sont 1800, 3600, 7200, 21600, 43200 et 86400. |
Récupération du flux et comportement en boutique
Le serveur résout un ID utilisateur X vide via https://api.x.com/2/users/by/username/{username}. Il récupère le fil via https://api.x.com/2/users/{user_id}/tweets, avec les dates de création, statistiques publiques, médias joints et données d’auteur. Le compte configuré et l’accès API doivent autoriser ces requêtes. Le module ne récupère pas de mur de hashtags et ne combine pas plusieurs comptes.
La logique de récupération limite le nombre d’éléments demandé pour l’affichage à 20. Elle demande jusqu’à trois fois ce nombre avant de conserver le nombre de résultats requis. Gardez un nombre positif. Le texte est raccourci à Longueur max. du texte pendant la récupération ; utilisez 0 pour le texte intégral. Les interrupteurs de métadonnées contrôlent l’affichage des cartes, tandis que ceux d’exclusion modifient la requête API.
Le hook standard sélectionné affiche une grille, un carrousel ou une liste. Le bouton de suivi de l’en-tête ouvre https://x.com/{username}. Chaque carte ouvre https://x.com/{author_handle}/status/{post_id} dans un nouvel onglet. Les vidéos restent des aperçus, sans lecteur intégré.
Si vous changez de compte, modifiez Nom d'utilisateur X et videz manuellement ID utilisateur X avant d’enregistrer. Un ID non vide est réutilisé même après un changement de nom d’utilisateur. Utilisez ensuite Synchroniser maintenant.
Cache et actualisation
Le cache du flux utilise ce fichier JSON local :
modules/mprxintegration/mprx_feed_cache.json
Les paramètres du flux et ce fichier sont partagés par les boutiques utilisant la même installation du module. Les requêtes en boutique le réutilisent tant qu’il est valide et récupèrent les publications depuis X s’il manque ou a expiré. L’enregistrement du formulaire principal l’efface ; cette version n’a pas de tâche planifiée d’actualisation du flux.
Synchroniser maintenant nécessite un Bearer token et un ID utilisateur X résolu, puis efface le cache et récupère immédiatement les publications. Vider le cache supprime seulement le fichier ; la prochaine requête en boutique récupère de nouvelles données. Si la requête API échoue ensuite ou ne renvoie aucune publication, aucune publication ne reste en cache. Vérifiez le fil, les identifiants et l’accès API, puis réessayez.
Seuls les résultats API non vides sont mis en cache. Un fichier expiré n’est pas utilisé en secours si la récupération échoue ; le flux peut donc disparaître jusqu’à la réussite d’une requête ultérieure. Les compteurs API et les dates relatives reflètent la réponse en cache.
"Auto-Publish to X"
Configurez les quatre champs d’identifiants OAuth 1.0a dans Connexion X (Twitter) pour publier depuis le blog. Un Bearer token en lecture seule ne suffit pas à configurer cette publication. Utilisez ensuite le formulaire distinct "Auto-Publish to X" :
| Réglage | Valeur par défaut | Action à effectuer |
|---|---|---|
| Activer la publication automatique | Non | Activez le traitement automatique des articles de blog publiés éligibles lors de l’exécution des hooks d’ajout/mise à jour. |
| Modèle de légende | {title}\n\n{url} |
Construisez le texte de la publication X à partir de {title}, {excerpt}, {url} et {shop_name}. Le système de publication limite le texte à 280 caractères. |
Le panneau Articles de blog nécessite MPR Blog Revolution et propose une action de publication manuelle lorsque le système de publication est configuré. Il utilise le titre, l’extrait, l’URL et l’image à la une du blog lorsqu’ils sont disponibles. La publication prend en charge le texte et les images/GIF. Elle passe par une file partagée et un historique empêchant les traitements en double. Si le panneau signale une erreur de file ou de rapprochement, vérifiez le résultat existant avant de réessayer.
L’affichage du flux et la publication ont des interrupteurs distincts, mais l’enregistrement du formulaire principal réinitialise l’interrupteur et la légende de publication, car ces champs y sont absents. Après chaque enregistrement du formulaire principal, enregistrez à nouveau Activer la publication automatique et la légende dans le formulaire de publication séparé.
La publication est bloquée lorsque le drapeau de prise en charge X de Social Revolution est défini. La politique d’écriture sortante peut aussi la bloquer sur un hôte de développement/préproduction ou non résolu. L’interface en indique la raison. Un autre module social installé chargeant une ancienne version du package de publication partagé peut bloquer l’envoi ; mettez les modules sociaux installés à jour ensemble si cette erreur apparaît.
Exemples de configuration et ajustements du thème
Les exemples ci-dessous décrivent les valeurs à saisir dans les formulaires du back-office. Ce ne sont pas des commandes shell. Remplacez les noms de compte et identifiants d’accès par des valeurs réelles. Le hook du thème doit correspondre à Hook d'affichage.
Affichez une grille d’accueil avec six publications, trois colonnes sur ordinateur, une sur mobile et uniquement les publications originales :
MPRX_DISPLAY_HOOK=displayHome
MPRX_LAYOUT=grid
MPRX_POST_COUNT=6
MPRX_COLUMNS=3
MPRX_MOBILE_COLUMNS=1
MPRX_EXCLUDE_REPLIES=1
MPRX_EXCLUDE_RETWEETS=1
Utilisez une liste compacte dans la colonne de droite, sans médias ni compteurs d’engagement :
MPRX_DISPLAY_HOOK=displayRightColumn
MPRX_LAYOUT=list
MPRX_POST_COUNT=3
MPRX_SHOW_MEDIA=0
MPRX_SHOW_LIKES=0
MPRX_SHOW_RETWEETS=0
MPRX_SHOW_REPLIES=0
MPRX_TEXT_LENGTH=140
Utilisez le slider avec un défilement automatique toutes les huit secondes :
MPRX_LAYOUT=slider
MPRX_COLUMNS=3
MPRX_AUTO_SCROLL=1
MPRX_SCROLL_SPEED=8000
Personnalisez la légende Blog Revolution envoyée à X :
{title}
{excerpt}
Read more: {url}
Les espaces réservés disponibles pour la légende sont :
{title}
{excerpt}
{url}
{shop_name}
Rendez le module via un hook PrestaShop standard dans un template du thème, en configurant le module pour ce même hook :
{hook h='displayHome' mod='mprxintegration'}
Les développeurs de thèmes peuvent surcharger les templates de la boutique ici :
themes/your_theme/modules/mprxintegration/views/templates/hook/feed.tpl
themes/your_theme/modules/mprxintegration/views/templates/hook/post_item.tpl
Sélecteurs CSS utiles pour les styles du thème :
.mprx-section { margin-top: 32px; }
.mprx-title { font-size: 1.25rem; }
.mprx-item { border-radius: 8px; }
[data-theme="dark"] .mprx-item { background: #16181c; }
.mprx-follow-btn { text-transform: none; }
Le cache du flux utilise ce fichier JSON local :
modules/mprxintegration/mprx_feed_cache.json
Pour un carrousel, vérifiez les colonnes et l’espacement configurés aux largeurs d’ordinateur, de tablette et de mobile. Conservez les modifications CSS et de templates dans votre thème.
Vérification et dépannage
- Si la section est absente, vérifiez Activer le module, les champs sources, Afficher sur mobile et le hook sélectionné. Le module ne renvoie aucune section si aucun élément n’est disponible.
- Vérifiez que votre thème appelle
displayHeaderpour charger la feuille de style et JavaScript, et qu’il rend le hook d’affichage sélectionné. - Si les images restent vides, examinez les erreurs réseau du navigateur. Essayez de désactiver le chargement différé et vérifiez les URL des images.
- Si la mise en page est incorrecte, testez d’abord la grille, puis vérifiez le carrousel aux largeurs d’ordinateur et de mobile.
- Si le réglage
X_ACTIVEde MPR Social Revolution est activé, ce flux autonome est masqué. Cette vérification lit le drapeau enregistré ; Social Revolution n’a pas besoin d’être actuellement activé en tant que module.
Ouvrez la page "Integrity" du module pour les contrôles de configuration et de hooks. Licence, Assistance et Mettre à jour sont des pages de maintenance. Testez les destinations réelles après avoir modifié les identifiants de compte ou les sources du flux.
Désactiver ou désinstaller
Réglez Activer le module sur Non et enregistrez pour masquer le flux tout en conservant ses paramètres de source et d’affichage. L’enregistrement du formulaire principal réinitialise l’interrupteur et la légende de publication ; vérifiez et enregistrez ensuite le formulaire de publication séparé si la publication doit continuer. Désinstallez via le gestionnaire de modules pour supprimer la configuration, le cache local et les entrées de menu d’administration de ce module. Les tables partagées mpr_social_publish et mpr_social_queue sont marquées comme partagées et conservées à la désinstallation. Les publications déjà envoyées à la plateforme ne sont pas supprimées.
Questions
1
Le flux X charge-t-il des ressources depuis des services externes ?
Votre boutique récupère les publications avec les identifiants API X enregistrés et les met en cache localement. Les cartes peuvent charger les avatars des auteurs et les médias depuis les URL renvoyées par X, et leurs liens ouvrent X dans un nouvel onglet. Tenez compte de ces ressources et destinations externes lors de la configuration des informations de confidentialité et des outils de consentement de votre boutique.
Problèmes connus
5
Compatibilité PHP 7.1
Impossible d’enregistrer l’identifiant depuis les vérifications
Les libellés traduits du module ne s’affichaient pas
L’avertissement ne reflétait pas les paramètres enregistrés
Traductions incomplètes
Demandes de fonctionnalités
4
Implémenté
Mises à jour du module en un clic
Interface multilingue
Vérification et réparation de l'installation
Publication planifiée sur X
Journal des modifications
v1.0.142026-09-03
- Addedcomplete FR/DE/ES/IT/PL translations
- FixedShip X required config package helper
- FixedAdd migrateFromPsConfiguration for ps_configuration cleanup
Versions précédentes
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-04
- AddedPS 9 / Hummingbird theme compatibility
- Addedlist layout alongside existing card-grid layout
- ImprovedAPI error handling — graceful fallback when X API rate limit reached
- Fixedtweet card images not displaying for tweet threads with embedded media
v1.0.02025-08-05
- Initialrelease: X (Twitter) timeline display for PrestaShop
- InitialEmbed user timeline with configurable post count and layout
- InitialBack-office configuration for X handle and Bearer token
- InitialCompatible with PS 1.7.x and PS 8.x
v1.1.02025-07-25
- Addedhashtag timeline option alongside user timeline
- Addedtweet count limiter — show up to 20 most recent posts
Demo
Testez le module complet avant d'acheter
Achetez la licence plus tard et gardez vos réglages.
- Votre démo de 30 jours Testez-le sur votre propre boutique pendant 30 jours à partir de la première installation.
- Boutique de démo prête Découvrez une boutique de démo prête dans votre navigateur.
- Sans inscription Ni compte, ni e-mail, ni domaine de boutique requis.
En téléchargeant, vous acceptez les conditions de la démo et la politique de confidentialité.
En ouvrant cette démo, vous acceptez les conditions de la démo et la politique de confidentialité.