Smart Favicon: configuración y ayuda

Inicio rápido

  1. Instala el ZIP de Smart Favicon desde "Modules > Module Manager > Upload a module" y selecciona una tienda concreta.
  2. Abre "Favicon > Configuration" y deja activado "Enable Smart Favicon".
  3. Sube "Light-mode favicon" y, si quieres, "Dark-mode favicon"; pulsa "Save" y comprueba las vistas previas de los iconos.
  4. Revisa "Show count badge on the favicon", "Count calculation", "Cart items" y "Maximum displayed count".
  5. Configura "Attention nudge when the tab is in the background" y "Nudge messages"; activa "Prefix the tab title with the count" solo si lo deseas.
  6. Para una fuente PNG/WebP, revisa "Generate the full icon set" y "Emit a web manifest"; deja desactivada la sobrescritura de la raíz global salvo que esta tienda deba ser su propietaria.
  7. En un navegador normal, añade, modifica y elimina artículos del carrito, cambia el esquema de color, sal de la pestaña y vuelve, y confirma el comportamiento del distintivo, el título y el icono.

Requiere PrestaShop 1.6.0.4 o posterior y PHP 7.1 o posterior.

La generación de conjuntos de iconos ráster requiere GD con el decodificador PNG/WebP correspondiente; la limpieza de SVG usa DOM.

Manual de configuración

Instalar Smart Favicon

Requisitos

Requiere PrestaShop 1.6.0.4 o posterior y PHP 7.1 o posterior.

Las funciones del navegador dependen de JavaScript y de los hooks estándar de cabecera y medios del tema activo.

Sube el ZIP de la versión desde "Modules > Module Manager > Upload a module" e instálalo. Abre "Favicon > Configuration", o pulsa "Configure" en el "Module Manager". En multitienda, selecciona una tienda concreta antes de editar los ajustes normales.

"Enable Smart Favicon" está activado inicialmente. El distintivo del contador y el recordatorio en segundo plano también están activados. "Prefix the tab title with the count" está desactivado inicialmente. Sin un icono subido, el módulo puede usar el favicon existente de la tienda para el distintivo.

Subir iconos claros y oscuros

Archivos de iconos

Configura "Light-mode favicon" y "Dark-mode favicon". Puedes subir ICO, PNG, SVG o WebP. Usa un PNG cuadrado de al menos 32 por 32 píxeles para un icono básico. Usa una fuente rasterizada mayor cuando quieras generar iconos de aplicación más grandes.

Las subidas están limitadas a 1 MB. Las imágenes PNG/WebP no deben superar los 1.024 píxeles en ninguna dimensión. Los SVG necesitan un viewBox o anchura y altura explícitas; el saneador reconstruye el SVG aceptado antes de almacenarlo. Los archivos no compatibles o inseguros se rechazan.

Pulsa "Save" y comprueba "Current light icon" y "Current dark icon". Los archivos subidos se guardan en img/mprfavicon/ con nombres nuevos para evitar reutilizar la URL anterior almacenada en caché. El servidor web debe tener permiso de escritura en el directorio.

Usa "Remove light icon on save" o "Remove dark icon on save" para eliminar una variante. Estos interruptores están desactivados inicialmente.

Comportamiento del esquema de color

Los navegadores que admiten consultas de medios para favicon seleccionan los enlaces claro/oscuro mediante prefers-color-scheme. El módulo también sigue los cambios del esquema de color del sistema. Un esquema sin su propio archivo subido recurre al favicon nativo de la tienda. Si no se ha subido ninguna variante, el módulo no añade enlaces de sustitución por esquema; el distintivo activo aún puede producir un icono gestionado.

Generar iconos de navegador y aplicación

Ajuste Valor predeterminado Qué hacer
"Generate the full icon set" Activado Sube una fuente PNG o WebP. Este generador no puede remuestrear ICO ni SVG.
"Emit a web manifest" Activado Déjalo activado para el manifiesto mínimo de este módulo. Desactívalo si tu tema o módulo PWA ya proporciona uno.
"Write the generated favicon.ico to the global root" Desactivado Actívalo solo si esta tienda debe gestionar el /favicon.ico compartido de la instalación.

El generador usa la primera fuente rasterizada que puede decodificar, comprobando la clara antes que la oscura. Crea PNG de 16, 32, 48, 180, 192, 256 y 512 píxeles y un ICO con varios tamaños. La tienda puede emitir enlaces a iconos de 16/32/48, un icono Apple touch y los iconos 192/512 del manifiesto. El módulo sirve el manifiesto con el tipo de contenido requerido para un manifiesto web.

La generación de imágenes necesita GD con el decodificador PNG/WebP correspondiente. Si el back office indica que hace falta una fuente rasterizada, sube un PNG o WebP y vuelve a guardar.

Icono de la raíz global en multitienda

La instalación tiene un solo favicon.ico en la raíz. Puede afectar a todas las tiendas que compartan esa raíz. La tienda que activa la sobrescritura se convierte en su propietaria. Otra tienda no puede sustituir ni restaurar el archivo de la propietaria desde sus propios ajustes.

El módulo guarda una copia de seguridad del original antes de sustituirlo. La propietaria puede desactivar el interruptor y guardar para solicitar la restauración. En "All shops", "Release global favicon.ico ownership" libera la propiedad compartida e intenta la restauración. Los ajustes normales por tienda se editan en el contexto de una tienda concreta.

Si alguien ha cambiado el icono de la raíz fuera del módulo, la recuperación conserva ese archivo más reciente. Si falla la copia de seguridad, la gestión de propiedad, el bloqueo o la restauración, el módulo conserva el estado de recuperación e informa del problema. No borres la copia de seguridad para eliminar un error.

Los servicios de búsqueda deciden qué icono muestran y cuándo lo actualizan.

Configurar el icono del back office

"Custom back-office favicon" está activado inicialmente. Sube "Back-office favicon" para un icono de administración dedicado, o déjalo vacío para reutilizar el icono claro. Si no existe ninguno de los dos, el icono de administración nativo sigue disponible.

Comprueba "Current admin icon" después de guardar. Usa "Remove admin icon on save" para eliminar el archivo dedicado. El icono del back office no muestra un distintivo del carrito de la tienda.

Configurar el distintivo del contador y las fuentes

Ajuste Valor predeterminado Efecto
"Show count badge on the favicon" Activado Dibuja el contador positivo seleccionado en un canvas de 64 píxeles. El distintivo desaparece al llegar a cero.
"Badge background" #dc3545 Color de la burbuja.
"Badge text" #ffffff Color del contador.
"Badge corner" "Top right" Elige cualquiera de las cuatro esquinas.
"Maximum displayed count" 9 Con el valor predeterminado, los conteos superiores muestran 9+. Establece 0 para no limitar. Los valores aceptados van de 0 a 999.
"Count calculation" "Sum of all enabled sources" Elige la suma o "A single priority source".
"Priority source" "Cart items" Solo se usa en el modo de fuente prioritaria única.
"Cart items" Activado Activa la fuente integrada del contador del carrito.

Otros módulos pueden añadir interruptores de fuentes. Desactiva las fuentes que no quieras contar. El distintivo, el prefijo del contador y el recordatorio predeterminado usan el conteo combinado seleccionado, por lo que otra fuente activada puede mantenerlos activos con el carrito vacío.

En PrestaShop 1.7/8/9, el código del navegador escucha los eventos del carrito. En PrestaShop 1.6 observa el contador de carrito antiguo y envuelve los métodos ajaxCart compatibles. Prueba las adiciones, eliminaciones y cambios de cantidad con tu tema.

Configurar el título de la pestaña

Prefijo del contador

Activa "Prefix the tab title with the count" cuando quieras mostrar el contador en el título. "Title format" empieza como ({count}) {title}. Conserva {title} en el formato para mantener el título de la página. Un formato vacío o sin {title} recurre al predeterminado.

Recordatorio en segundo plano

"Attention nudge when the tab is in the background" está activado inicialmente. Rellena "Nudge messages" para cada idioma de la tienda, con un mensaje por línea. Los mensajes ingleses incluidos son “🛒 Still thinking it over?” y “Your items are waiting”; se usan las traducciones incluidas cuando están disponibles.

"Rotation interval" empieza en 4 segundos y está limitado a entre 2 y 60 segundos. El recordatorio predeterminado funciona mientras la pestaña no tiene el foco y el contador seleccionado es positivo. Al volver a la pestaña se detiene el recordatorio y se restaura el título normal, incluido el prefijo del contador actual si está activado.

Los cambios de título se realizan en JavaScript después de cargar la página. El título renderizado por el servidor no cambia. El código omite los bots detectados y los navegadores que indican navigator.webdriver, así que prueba con una sesión normal del navegador además de las herramientas automatizadas.

Campañas de interacción opcionales

Abre "Favicon > Engagement campaigns" para añadir reglas de interacción personalizadas. Los ajustes básicos de distintivo, esquema y título no requieren una campaña.

Establece "Name", elige un "Trigger" y selecciona "Match mode" como "All conditions" o "Any condition". Usa las listas de condiciones y acciones disponibles en el constructor. Establece "Minimum re-entry delay on this page" en milisegundos; empieza en 0 y se reinicia al navegar. "Priority" empieza en 0 y los valores superiores prevalecen en los canales de acciones exclusivos. Su rango aceptado va de -1000 a 1000. Las campañas nuevas empiezan desactivadas; activa "Enabled" después de revisar la regla y pulsa "Save".

Las campañas pertenecen a la tienda seleccionada. Prueba el activador y comprueba los solapamientos con las acciones predeterminadas del título y del favicon. Desactiva una campaña desde la lista cuando quieras conservar su configuración sin ejecutarla.

Fuentes del distintivo para desarrolladores

Registrar una fuente activada

Registra tu módulo proveedor en actionRegisterFaviconBadge y devuelve un descriptor:

public function hookActionRegisterFaviconBadge($params)
{
    return [
        'id' => 'tickets',
        'label' => $this->l('Unread replies'),
        'script' => 'modules/yourmodule/views/js/source.js',
    ];
}

Los ID de las fuentes usan letras minúsculas, dígitos, _ o -, hasta 40 caracteres. No uses el ID reservado cart. La ruta del script es opcional y debe ser relativa a la raíz de la tienda. El módulo crea un interruptor para la fuente declarada; las fuentes añadidas empiezan activadas.

Registra el contador correspondiente en el script:

window.mprFavicon.registerSource('tickets', function () {
    return 3; // A number or a Promise resolving to a number.
});
window.mprFavicon.update();

Llama a update() cuando cambie el valor subyacente. La lista de fuentes activadas del servidor es la autoridad. Registrar por sí sola una fuente JavaScript arbitraria no la añade a esa lista ni evita la desactivación de una fuente por el comerciante. El mismo ID de fuente debe estar declarado, activado y registrado en tiempo de ejecución.

Verificar y resolver problemas

Primera comprobación

  1. Guarda tus iconos y revisa sus vistas previas en el back office.
  2. Abre la tienda en un navegador normal, añade un producto y comprueba el distintivo.
  3. Cambia la cantidad, elimina el producto y confirma que el distintivo desaparece.
  4. Cambia el modo claro/oscuro del sistema y comprueba el icono base.
  5. Con un contador positivo, sal de la pestaña, comprueba el recordatorio y vuelve para confirmar que se restaura el título.
  6. Si están activados, prueba por separado el prefijo del contador, el icono de administración, los enlaces generados y el manifiesto.

Problemas habituales

  • Un icono subido parece no haber cambiado. Fuerza la recarga y vuelve a abrir la pestaña. Los navegadores almacenan los favicons en caché independientemente del contenido de las páginas.
  • El distintivo no se actualiza en PrestaShop 1.6. Comprueba que el tema tenga un contador de bloque de carrito compatible o integración con ajaxCart.
  • Se ignora una fuente personalizada. Comprueba su descriptor PHP, el interruptor del comerciante, el ID de fuente y el registro en tiempo de ejecución.
  • No aparece el conjunto de iconos. Comprueba la fuente rasterizada, la compatibilidad con GD y los permisos de escritura del directorio img/mprfavicon/. ICO/SVG siguen siendo utilizables como iconos fuente, pero no pueden producir el conjunto generado.
  • No se puede cambiar el icono de la raíz. Lee el mensaje de propiedad, cambia a la tienda propietaria y comprueba los permisos del sistema de archivos. Usa la acción de liberación de "All shops" cuando quieras liberar la propiedad global.
  • No ocurre nada durante la automatización. El código omite intencionadamente WebDriver y los agentes de usuario de bots detectados. Verifica el resultado manualmente.
  • Falta infraestructura. Abre "Favicon > Integrity".

Desinstalar

Desactiva la sobrescritura de la raíz desde su tienda propietaria y confirma la recuperación antes de eliminar el módulo si quieres comprobar la restauración explícitamente. La desinstalación también intenta recuperar la raíz y elimina la configuración y los archivos favicon normales cuando esa transición se completa correctamente.

Si la recuperación no puede terminar, la desinstalación conserva la configuración y las copias de seguridad necesarias para volver a intentarlo y registra el problema. Se conserva cualquier archivo sustituido externamente. Comprueba /favicon.ico y cualquier error de recuperación indicado después de desinstalar; no des por hecho que todas las operaciones del sistema de archivos hayan tenido éxito.

Preguntas

Aún no hay preguntas sobre este módulo

Pregunta lo que quieras sobre instalación, compatibilidad o configuración. Las respuestas aparecen aquí.

Problemas conocidos

13

El indicador del carrito usaba el icono de tema incorrecto

ResueltoActualizado:
Corregido en: 1.4.8
El indicador del carrito podía usar un icono que no coincidía con el favicon claro u oscuro seleccionado por la página actual.

Favicon principal bloqueado tras eliminar una tienda

ResueltoActualizado:
Corregido en: 1.4.8
Si el control del favicon principal no podía liberarse inmediatamente al eliminar una tienda, las visitas posteriores no reintentaban la recuperación.

Campañas de interacción guardadas podían no ejecutarse

ResueltoActualizado:
Corregido en: 1.4.4
La tienda podía tener campañas guardadas que la parte pública no reconocía como disponibles tras la instalación o conciliación.

Ubicaciones eliminadas reaparecían automáticamente

ResueltoActualizado:
Corregido en: 1.4.3
El módulo podía registrar de nuevo una ubicación en la tienda después de que el comerciante la eliminara. Ahora las ubicaciones eliminadas permanecen eliminadas.

Guardar y permanecer no guardaba los ajustes

ResueltoActualizado:
Corregido en: 1.4.0
Los cambios hechos con Guardar y permanecer podían desaparecer en lugar de guardarse.

La desinstalación podía descartar datos de recuperación del favicon

ResueltoActualizado:
Corregido en: 1.4.0
Si la desinstalación no podía restaurar el favicon original, podía perderse la información necesaria para reintentarlo.

Copias de seguridad del favicon podían quedar inaccesibles

ResueltoActualizado:
Corregido en: 1.3.2
Una restauración fallida al desactivar o desinstalar podía perder la información necesaria para recuperar el favicon anterior. Ahora se conserva la información de copia de seguridad y recuperación.

Eliminar una tienda podía bloquear cambios del favicon principal

ResueltoActualizado:
Corregido en: 1.3.2
Eliminar la tienda que controlaba el favicon principal podía impedir a otras tiendas tomar el control o restaurarlo.

El menú de ajustes abría una página inexistente

ResueltoActualizado:
Corregido en: 1.2.1
Abrir directamente el menú padre de ajustes en PrestaShop 9.1 podía mostrar un error de página no encontrada en lugar de la pantalla de configuración.

Comprobaciones compartidas de instalación omitían el módulo

ResueltoActualizado:
Corregido en: 1.2.1
El panel compartido de instalación podía no detectar Smart Favicon y omitir sus comprobaciones.

El módulo no se cargaba en PrestaShop 1.7

ResueltoActualizado:
Corregido en: 1.1.2
Una dependencia ausente del paquete podía causar un error fatal al cargar el módulo en PrestaShop 1.7.

Sustituir el favicon podía perder el icono anterior

ResueltoActualizado:
Corregido en: 1.1.1
Una actualización de icono fallida podía dejar un conjunto incompleto o sobrescribir un favicon sustituido manualmente por el comerciante. Ahora se conservan los iconos anteriores utilizables.

Archivos de iconos en conflicto entre tiendas

ResueltoActualizado:
Corregido en: 1.1.1
Las tiendas que compartían instalación podían interferir en los iconos generados de las demás. Ahora los conjuntos generados están separados y se rechaza la sustitución incompatible del favicon principal.

Solicitudes de funcionalidades

9

Implementado

Favicons para temas claros y oscuros

Implementado
Muestra un favicon adaptado al tema claro u oscuro del navegador del visitante.

Indicadores del carrito en tiempo real

Implementado
Muestra el número de artículos del carrito en el favicon o en el título de la pestaña.

Mensajes para llamar la atención en la pestaña

Implementado
Configura mensajes que llamen la atención sobre la tienda cuando un visitante abandone su pestaña.

Iconos para dispositivos y búsquedas

Implementado
Genera iconos de varios tamaños y un manifiesto web a partir del favicon subido.

Sustitución del favicon principal

Implementado
Sustituye opcionalmente el favicon principal de la tienda conservando una copia de seguridad para restaurarlo.

Favicon del back office

Implementado
Usa un favicon personalizado para las páginas de administración de la tienda.

Pantallas de soporte y mantenimiento

Implementado
Accede a la gestión de licencias, el soporte, las actualizaciones del módulo y las comprobaciones de instalación desde el menú del módulo.

Desactivación de mensajes de atención por idioma

Implementado
Desactiva los mensajes de atención de la pestaña para idiomas concretos de la tienda.

Creador de campañas de interacción

Implementado
Crea campañas con activadores, condiciones y acciones, incluidos mensajes para clientes que regresan e indicadores del carrito en el favicon.

Registro de cambios

v1.1.12025-08-04

  • Hardening: multistore-safe favicon.ico override with merchant-file protection and verified backup/restore.
  • Per-shop icon-set files and a grace period for cached manifests.
  • PHP 7.1 WebP compatibility and scheme-qualified sized icon links (192 px link, 256 px ICO entry).
  • Automatic icon-set generation right after upgrading.
Versiones anteriores

v1.1.02025-07-17

  • Search-engine icon set generated from one PNG/WebP upload: 16/32/48 px link icons, 180 px Apple touch icon, 192/512 px web-app icons and a web manifest served with the correct content type.
  • Multi-size favicon.ico with an optional shop-root override — the file Bing, DuckDuckGo, Yahoo and search-result icon fetchers read — including one-time backup and automatic restore on disable or uninstall.
  • Custom back-office favicon (dedicated upload or light-icon fallback) so multiple open shop admins are distinguishable.
  • Back-office warnings when the icon set needs a raster source or the shop root is not writable.

v1.0.02025-06-12

  • Initialfree Smart Favicon release for PrestaShop 1.6-9.
  • InitialLight and dark favicon served per visitor color scheme (declarative media-query links plus a live JavaScript fallback).
  • InitialLive cart count badge drawn onto the favicon with configurable corner, colors and 9+ cap; hidden at zero.
  • InitialTab-title count prefix and polite blur-time nudge messages per language, restoring the exact original title on focus.
  • InitialPluggable badge-source registry: JavaScript API plus the actionRegisterFaviconBadge hook with per-source toggles and sum/priority modes.
  • InitialSEO-safe by design: server-rendered title untouched, JavaScript-only after load, bots excluded.

Demo

Prueba el módulo completo

  • Tienda demo lista Explora una tienda demo lista en tu navegador.
  • Sin registro Sin cuenta, correo ni dominio de tienda.

Al abrir esta demo, acepta los términos de la demo y la política de privacidad.

Cargando...
Volver arriba