Integración X (Twitter) Feed: configuración y ayuda
Inicio rápido
- Sube e instala el ZIP
mprxintegrationen Módulos > "Module Manager". - Haz clic en "Configure". En Conexión X (Twitter), deja Activar módulo activado.
- Introduce Bearer Token para lectura mediante X API v2 y Nombre de usuario X sin
@. Deja ID de usuario X vacío para resolverlo automáticamente. - En Configuración de visualización, selecciona el valor estándar Hook de visualización
displayHome. Deja Activar widget personalizado desactivado. - Mantén Modo de diseño en
gridy establece un valor positivo para Número de publicaciones, como6. Haz clic en Guardar. - Usa Sincronizar ahora en el panel de conexión/caché para obtener las publicaciones al momento y consulta el resultado.
- Abre la tienda en el hook seleccionado, comprueba las tarjetas de publicaciones y haz clic en una para confirmar su destino en X.
Requiere PrestaShop 1.6 o posterior y PHP 7.1 o posterior.
Manual de configuración
Instalación y primera configuración
En versiones anteriores de PrestaShop, usa la página equivalente de instalación de módulos. Abre este módulo mediante "Configure" cuando necesites volver a su configuración.
Conexión X (Twitter)
| Ajuste | Valor predeterminado | Qué hacer |
|---|---|---|
| Activar módulo | Sí | Muestra u oculta el feed independiente de la tienda. |
| Bearer Token | Vacío | Introduce el token X API v2 usado para leer el feed. Tu acceso a la API debe permitir los endpoints de usuario y cronología solicitados. |
| Nombre de usuario X | Vacío | Introduce el nombre de usuario sin @. Se utiliza para buscar el ID y para los enlaces de seguimiento. |
| ID de usuario X | Vacío | Déjalo vacío para buscarlo al guardar, sincronizar u obtener datos. Un ID guardado no vacío se reutiliza. |
| Clave API (Consumer Key) | Vacío | Introduce la clave de consumidor OAuth 1.0a solo si configuras la publicación del blog. |
| Secreto API (Consumer Secret) | Vacío | Introduce el secreto de consumidor correspondiente para publicar. |
| Token de acceso | Vacío | Introduce el token de publicación OAuth 1.0a de la cuenta. Es independiente de Bearer Token. |
| Secreto del token de acceso | Vacío | Introduce el secreto del token OAuth 1.0a correspondiente. |
Configuración de visualización
| Ajuste | Valor predeterminado | Qué hacer |
|---|---|---|
| Hook de visualización | displayHome |
Elige displayHome, displayFooterBefore, displayFooter, displayLeftColumn o displayRightColumn. Tu tema debe renderizar el hook seleccionado. |
| Título de sección | Follow us on X |
Define el título del feed. Déjalo vacío para ocultarlo. |
| Mostrar botón de seguir | Sí | Muestra el enlace al perfil en la cabecera del feed cuando haya un nombre de usuario configurado. |
| Texto del botón Seguir | Follow @ |
Define el texto anterior al nombre de usuario. Se une directamente a él. |
| Mostrar en móvil | Sí | Permite el feed a los visitantes que PrestaShop detecte como usuarios de móvil. |
| Ajuste | Valor predeterminado | Qué hacer |
|---|---|---|
| Tema | light |
Elige tarjetas claras u oscuras. |
| Activar widget personalizado | No | Esta versión no tiene un sistema funcional para mostrar el widget personalizado. Deja esta opción desactivada y usa un hook de visualización estándar. |
El menú Hook de visualización también ofrece Widget personalizado (usa {widget} en las plantillas), pero esta versión no implementa esa forma de mostrar el feed. Selecciona un hook estándar, también al colocar el feed en una plantilla del tema.
Diseño y apariencia
| Ajuste | Valor predeterminado | Qué hacer |
|---|---|---|
| Modo de diseño | grid |
Elige grid, slider o list. La lista usa un marcado vertical independiente. |
| Número de publicaciones | 6 |
Define una cantidad positiva. La lógica de obtención de X limita la cantidad mostrada a 20. |
| Columnas | 3 |
Elige de 1 a 4 columnas de cuadrícula o tarjetas visibles del carrusel con anchuras de 992px o más. |
| Columnas móviles | 1 |
Elige 1 o 2 columnas de cuadrícula o tarjetas visibles del carrusel por debajo de 768px. |
| Longitud máx. del texto | 280 |
Limita el texto mostrado. Usa 0 para evitar que se recorte. |
| Espacio entre publicaciones (px) | 16 |
Define el espaciado de la cuadrícula, la lista y el carrusel. Usa 0 para eliminar el espacio. |
| Radio de borde (px) | 12 |
Define el redondeo de las esquinas de las tarjetas. |
| Efecto hover | elevate |
Elige elevate, glow, border o none. |
Los controles de columnas se aplican a la cuadrícula y al carrusel. Con anchuras de 768px a 991px, el carrusel y las cuadrículas con al menos dos publicaciones usan dos columnas; una cuadrícula con una sola publicación mantiene una columna. Por debajo de 768px, usan Columnas móviles. Las cuadrículas que solo contienen una o dos publicaciones usan respectivamente una o dos columnas en escritorio y una columna en móvil. El espaciado y el radio de borde se aplican a todos los diseños, incluido el carrusel.
Contenido y metadatos de la publicación
| Ajuste | Valor predeterminado | Qué hacer |
|---|---|---|
| Mostrar texto del tweet | Sí | Muestra el texto de la publicación en caché. |
| Mostrar medios (imágenes) | Sí | Muestra imágenes adjuntas o de vista previa. Los adjuntos de vídeo y GIF animados muestran vistas previas con un distintivo de vídeo. |
| Mostrar fecha | Sí | Muestra la fecha relativa en caché. |
| Mostrar número de Me gusta | Sí | Muestra el número de Me gusta devuelto por la API. |
| Mostrar número de retweets | Sí | Muestra el número de republicaciones devuelto por la API. |
| Mostrar número de respuestas | Sí | Muestra el número de respuestas devuelto por la API. |
| Mostrar autor | Sí | Muestra el avatar, nombre visible y nombre de usuario disponibles. |
| Excluir respuestas | Sí | Solicita la cronología sin respuestas. |
| Excluir retweets | Sí | Solicita la cronología sin republicaciones. |
Carrusel y rendimiento
| Ajuste | Valor predeterminado | Qué hacer |
|---|---|---|
| Carga diferida de imágenes | Sí | Carga las miniaturas/imágenes multimedia mediante JavaScript cerca del área visible. Desactívalo si esa carga está bloqueada. |
| Desplazamiento automático (Slider) | Sí | Haz que el carrusel avance automáticamente. No afecta a la salida en cuadrícula/lista. |
| Velocidad de desplazamiento | 5000 |
Define el intervalo del carrusel en milisegundos. Las opciones son 2000, 3000, 5000, 8000 y 10000. |
| Duración de caché | 3600 |
Reutiliza los datos obtenidos durante este número de segundos. Las opciones son 1800, 3600, 7200, 21600, 43200 y 86400. |
Obtención del feed y comportamiento en la tienda
El servidor resuelve un ID de usuario X vacío mediante https://api.x.com/2/users/by/username/{username}. Obtiene la cronología mediante https://api.x.com/2/users/{user_id}/tweets, incluidas fechas de creación, métricas públicas, adjuntos multimedia y datos del autor. Tu cuenta configurada y acceso a la API deben permitir esas solicitudes. El módulo no obtiene un muro de hashtags ni combina varias cuentas.
La lógica de obtención limita a 20 la cantidad solicitada para mostrar. Solicita hasta tres veces esa cantidad antes de conservar el número de resultados necesario. Mantén una cantidad positiva. El texto se acorta a Longitud máx. del texto durante la obtención; usa 0 para el texto completo. Los interruptores de metadatos controlan las tarjetas, mientras que los de exclusión cambian la solicitud a la API.
El hook estándar seleccionado renderiza una cuadrícula, carrusel o lista. El botón para seguir de la cabecera abre https://x.com/{username}. Cada tarjeta abre https://x.com/{author_handle}/status/{post_id} en una pestaña nueva. Los vídeos siguen siendo vistas previas, sin reproductor insertado.
Si cambias de cuenta, modifica Nombre de usuario X y vacía manualmente ID de usuario X antes de guardar. Un ID no vacío se reutiliza incluso después de cambiar el nombre de usuario. Después usa Sincronizar ahora.
Caché y actualización
La caché del feed usa este archivo JSON local:
modules/mprxintegration/mprx_feed_cache.json
La configuración del feed y este archivo se comparten entre las tiendas que usan la misma instalación del módulo. Las solicitudes a la tienda lo reutilizan mientras es válido y obtienen publicaciones de X si falta o ha caducado. Guardar el formulario principal lo elimina; esta versión no tiene una tarea programada para actualizar el feed.
Sincronizar ahora requiere un Bearer Token y un ID de usuario X resuelto, después borra la caché y obtiene las publicaciones al momento. Vaciar caché solo elimina el archivo; la siguiente solicitud a la tienda obtiene datos nuevos. Si la solicitud posterior a la API falla o no devuelve publicaciones, no queda ninguna publicación en caché. Revisa la cronología, las credenciales y el acceso a la API y vuelve a intentarlo.
Solo se guardan en caché los resultados no vacíos de la API. Si falla la obtención, no se usa un archivo caducado como respaldo; el feed puede desaparecer hasta que una solicitud posterior tenga éxito. Los recuentos de la API y las fechas relativas reflejan la respuesta en caché.
"Auto-Publish to X"
Configura los cuatro campos de credenciales OAuth 1.0a en Conexión X (Twitter) si necesitas publicar desde el blog. Un Bearer Token de solo lectura no configura por sí solo esta vía de publicación. Después usa el formulario independiente "Auto-Publish to X":
| Ajuste | Valor predeterminado | Qué hacer |
|---|---|---|
| Activar publicación automática | No | Activa el procesamiento automático de artículos de blog publicados que cumplan los requisitos cuando se ejecuten los hooks de alta/actualización. |
| Plantilla de leyenda | {title}\n\n{url} |
Construye el texto de la publicación X con {title}, {excerpt}, {url} y {shop_name}. El publicador limita el texto a 280 caracteres. |
El panel Artículos del blog requiere MPR Blog Revolution y ofrece una acción de publicación manual cuando el publicador está configurado. Usa título, extracto, URL e imagen destacada del blog cuando están disponibles. El publicador admite texto e imágenes/GIF. La publicación pasa por una cola y registros de historial compartidos que evitan el procesamiento duplicado. Si el panel indica un error de cola o conciliación, comprueba el resultado existente antes de reintentar.
La visualización del feed y la publicación tienen interruptores independientes, pero guardar el formulario principal restablece el interruptor y el texto de publicación porque esos campos no están en él. Después de cada guardado del formulario principal, vuelve a guardar Activar publicación automática y su texto en el formulario de publicación independiente.
La publicación se impide cuando está activa la bandera de control de X de Social Revolution. La política de escritura saliente también puede bloquearla en un host de desarrollo/pruebas o sin resolver. La interfaz indica el motivo. Otro módulo social instalado que cargue un paquete publicador compartido antiguo puede bloquear el envío; actualiza juntos los módulos sociales instalados si aparece ese error.
Ejemplos de configuración y ajustes del tema
Los ejemplos siguientes describen valores para los formularios del back office. No son comandos de shell. Sustituye los nombres de cuenta y credenciales por valores reales. El hook del tema debe coincidir con Hook de visualización.
Muestra una cuadrícula en la página de inicio con seis publicaciones, tres columnas en escritorio, una en móvil y solo publicaciones 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
Usa una lista compacta en la columna derecha sin medios ni contadores de interacción:
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
Usa el slider con desplazamiento automático cada ocho segundos:
MPRX_LAYOUT=slider
MPRX_COLUMNS=3
MPRX_AUTO_SCROLL=1
MPRX_SCROLL_SPEED=8000
Personaliza el texto de Blog Revolution enviado a X:
{title}
{excerpt}
Read more: {url}
Los marcadores de texto disponibles son:
{title}
{excerpt}
{url}
{shop_name}
Renderiza el módulo mediante un hook estándar de PrestaShop en una plantilla del tema, con el módulo configurado para ese mismo hook:
{hook h='displayHome' mod='mprxintegration'}
Los desarrolladores de temas pueden sobrescribir las plantillas de la tienda aquí:
themes/your_theme/modules/mprxintegration/views/templates/hook/feed.tpl
themes/your_theme/modules/mprxintegration/views/templates/hook/post_item.tpl
Selectores CSS útiles para aplicar estilos desde el tema:
.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; }
La caché del feed usa este archivo JSON local:
modules/mprxintegration/mprx_feed_cache.json
Para un carrusel, comprueba las columnas y el espaciado configurados con anchuras de escritorio, tableta y móvil. Mantén los cambios de CSS y plantillas en tu tema.
Verificación y solución de problemas
- Si falta la sección, comprueba Activar módulo, los campos de origen, Mostrar en móvil y el hook seleccionado. El módulo no devuelve ninguna sección cuando no hay elementos disponibles.
- Comprueba que tu tema llame a
displayHeaderpara cargar la hoja de estilos y JavaScript, y renderice el hook de visualización seleccionado. - Si las imágenes siguen vacías, revisa los errores de red del navegador. Prueba a desactivar la carga diferida y comprueba las URL de las imágenes.
- Si el diseño es incorrecto, prueba primero la cuadrícula y después verifica el carrusel con anchuras de escritorio y móvil.
- Si MPR Social Revolution tiene activado el ajuste
X_ACTIVE, este feed independiente se oculta. La comprobación lee la bandera guardada; no requiere que Social Revolution esté actualmente activado como módulo.
Abre la página "Integrity" del módulo para comprobar la configuración y los hooks. Licencia, Soporte y Actualizar son páginas de mantenimiento. Prueba los destinos reales tras cambiar los identificadores de cuenta o las fuentes del feed.
Desactivar o desinstalar
Establece Activar módulo en No y guarda para ocultar el feed conservando la configuración de fuente y visualización. Guardar el formulario principal restablece el interruptor y el texto de publicación; revisa y guarda después el formulario de publicación independiente si quieres que continúe. Desinstala desde el gestor de módulos para eliminar la configuración, caché local y entradas del menú de administración de este módulo. Las tablas compartidas mpr_social_publish y mpr_social_queue están marcadas como compartidas y se conservan al desinstalar. La desinstalación no elimina publicaciones ya enviadas a la plataforma.
Preguntas
1
¿El feed de X carga recursos de servicios externos?
Tu tienda obtiene las publicaciones mediante las credenciales de la API de X guardadas y las almacena en la caché local. Las tarjetas pueden cargar avatares de autores y contenido multimedia desde las URL devueltas por X, y sus enlaces abren X en una pestaña nueva. Ten en cuenta estos recursos y destinos externos al configurar la información de privacidad y las herramientas de consentimiento de tu tienda.
Problemas conocidos
5
Compatibilidad con PHP 7.1
No se guardaba la credencial desde las comprobaciones
No se mostraban las etiquetas traducidas del módulo
El aviso no reflejaba los ajustes guardados
Traducciones incompletas
Solicitudes de funcionalidades
4
Implementado
Actualizaciones del módulo con un clic
Interfaz multilingüe
Comprobación y reparación de la instalación
Publicación programada en X
Registro de cambios
v1.0.142026-09-03
- Addedcomplete FR/DE/ES/IT/PL translations
- FixedShip X required config package helper
- FixedAdd migrateFromPsConfiguration for ps_configuration cleanup
Versiones anteriores
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
Prueba el módulo completo antes de comprar
Compra la licencia más tarde y conserva tus ajustes.
- Tu demo de 30 días Pruébalo en tu propia tienda durante 30 días desde la primera instalación.
- Tienda demo lista Explora una tienda demo lista en tu navegador.
- Sin registro Sin cuenta, correo ni dominio de tienda.
Al descargar, aceptas las condiciones de la demo y la política de privacidad.
Al abrir esta demo, acepta los términos de la demo y la política de privacidad.