Empresa y servicios Info

Nuestro stack tecnológico para módulos PrestaShop | mypresta.rocks

Explore el ecosistema de paquetes compartidos detras de los módulos mypresta.rocks. 12 librerias propietarias, interfaz admin consistente y compatibilidad.

No solo módulos — una plataforma

Cada módulo de mypresta.rocks funciona sobre una base compartida de 12 paquetes propietarios que hemos construido y mantenido desde 2012. No son wrappers ni generadores de boilerplate — son librerías construidas a propósito que resuelven problemas difíciles en el desarrollo de módulos PrestaShop.

Cuando instalas uno de nuestros módulos, obtienes años de ingeniería acumulada: interfaces admin consistentes, selección inteligente de entidades, compatibilidad multi-versión desde PS 1.6 hasta 9.x e infraestructura compartida que significa que los errores corregidos en un módulo se corrigen en todos.

Los paquetes compartidos

prestashop-admin

Nuestro paquete más fundamental. Cada panel de administración de módulo está construido sobre el — un toolkit de UI completo que proporciona:

  • Controladores base — MPRAdminController y MPRListController con carga AJAX de imágenes integrada, edición inline y modales de campos
  • Filtrado avanzado — filtrado basado en base de datos con seis tipos de filtro: texto, rango numérico, rango de fechas, selección, selección multiple y booleano
  • Gestion de columnas — los usuarios eligen qué columnas mostrar, guardan presets y el estado persiste por empleado
  • 20+ componentes JavaScript — datepickers, modales, toasts, editores inline, listas AJAX, todos funcionando juntos
  • 35+ estilos de componentes SCSS — apariencia consistente en cada módulo, cada versión de PrestaShop

Por eso cada panel de administración de módulo mypresta.rocks se siente igual. No es coincidencia — es un toolkit compartido con más de una década de iteración.

prestashop-entity-selector

Probablemente nuestro paquete más complejo. Un widget universal para seleccionar entidades de PrestaShop con lógica de inclusión/exclusión.

  • 18 tipos de entidades — productos, categorías, fabricantes, proveedores, páginas CMS, empleados, clientes, grupos de clientes, transportistas, zonas, países, monedas, idiomas, tiendas, perfiles, estados de pedido, impuestos y más
  • 130+ métodos de selección — seleccionar productos por categoria, fabricante, etiqueta, atributo, característica, combinación, condición, visibilidad, estado de stock, rango de precios, rango de fechas, rango de ID, patrón de nombre y docenas más
  • Lógica de inclusión/exclusión — define lo que se incluye, luego recorta las excepciones. “Todos los productos en la categoría X, excepto los del fabricante Y, a menos que estén en oferta”
  • Agrupación con AND/OR — múltiples grupos de selección combinados con lógica booleana, cada uno con su propio límite y ordenamiento
  • Vista previa en vivo — ve los elementos coincidentes actualizarse en tiempo real mientras ajustas las condiciones

En lugar de que cada módulo reinvente la selección de productos con un simple autocomplete, todos comparten un componente potente y probado.

prestashop-compatibility

PrestaShop cambia significativamente entre versiones. Firmas de controladores, rutas de plantillas, formatos de respuesta AJAX, nombres de hooks — todo diferente entre 1.7 y 8.x y 9.x.

Este paquete absorbe esas diferencias. Los módulos programan contra una API estable, y la capa de compatibilidad maneja el comportamiento específico de la versión por debajo. Así es como soportamos PS 1.6 hasta 9.x desde una única base de código sin llenar el código de verificaciones de versión.

template-injector

Algunos módulos necesitan inyectar contenido en las plantillas del tema sin requerir ediciones manuales. Este paquete escanea archivos Smarty .tpl, identifica puntos de llamada de hooks e inyecta la salida del módulo en la ubicación correcta.

  • Escaneo automático de plantillas — descubre puntos de inyección en cualquier tema
  • Resolución consciente del tema — maneja temas hijo, overrides de plantillas y fallbacks del tema padre
  • Seguimiento de inyecciones — sabe que se inyecto donde, para poder eliminarse limpiamente en la desinstalación
  • Gestion de perfiles — diferentes configuraciones de inyección para diferentes contextos

Usado por módulos como mprsubtitles, mprblogrevolution y mprhtmlblocks que necesitan colocar contenido en ubicaciones donde PrestaShop no proporciona hooks.

prestashop-url

La gestión de URLs en PrestaShop es notoriamente frágil. Este paquete proporciona un verdadero motor de URLs con gestión de patrones, enrutamiento y manejo del ciclo de vida de entidades.

  • Generación de URL basada en patrones — define patrones de URL con variables, genera automáticamente URLs amigables para SEO
  • Integración del ciclo de vida de entidades — cuando un producto o categoría se crea, actualiza o elimina, las URLs se actualizan automáticamente
  • Backends de almacenamiento intercambiables — patrones basados en base de datos o configuración según el caso de uso
  • Gestion de esquemas — gestiona su propia creación y migración de tablas de base de datos

Impulsa mprseorevolution y mprfriendlyurl.

prestashop-icons

Los temas de PrestaShop usan diferentes conjuntos de iconos — Hummingbird usa Material Icons, Classic usa Font Awesome, algunos temas de terceros usan algo completamente diferente.

  • Nombres de iconos semánticos — los módulos usan nombres como “cart”, “success”, “edit”, “delete” en lugar de nombres de clases específicos de fuente
  • Detección del tema — detecta automáticamente que conjunto de iconos usa el tema activo y mapea los nombres semánticos a las clases correctas
  • Self-hosting — si el tema no incluye la fuente de iconos necesaria, el paquete la incluye
  • Hojas de sprites SVG — 38 iconos de marcas de pago y 12 iconos de redes sociales con variantes claras, oscuras y de acento

prestashop-session

Seguimiento de sesión compartido entre módulos, usando una única tabla de base de datos mpr_sessions.

  • Detección de bots — identifica crawlers y tráfico automatizado antes de que llegue a la lógica del módulo
  • Fingerprinting de dispositivos — detección de navegador, sistema operativo y tipo de dispositivo
  • Hashing de sesión — identificación de sesión consistente entre cargas de página

Usado por mprsecurityrevolution y mprcheckoutrevolution — comparten datos de sesión en lugar de que cada uno rastree independientemente.

prestashop-schedule & prestashop-public-holidays

Lógica temporal que necesitan múltiples módulos:

  • Widget de programación — rangos de fecha/hora, programaciones semanales recurrentes, gestión de zonas horarias
  • Gestion de festivos — base de datos centralizada de festivos compartida entre módulos a través de la tabla mpr_public_holidays
  • Usados juntos — “aplicar este descuento en días laborables excepto festivos” en mprsalesrevolution, o “mostrar estos resultados de búsqueda solo durante el horario comercial” en mprsearchrevolution

prestashop-target-conditions & prestashop-front

Paquetes más recientes en nuestro ecosistema:

  • Target Conditions — reglas de segmentación reutilizables (por grupo de clientes, país, dispositivo, valor del carrito, etc.) compartidas entre módulos que necesitan lógica de visualización condicional
  • Componentes front — bloques de construcción de UI frontend para la salida del módulo orientada al cliente, asegurando un estilo consistente sin conflictos con el tema

Por qué esto es importante para ti

Consistencia

Cada panel de administración de módulo funciona igual. Mismo filtrado, misma gestión de columnas, mismos atajos de teclado, mismos patrones AJAX. Aprende un módulo y sabes cómo funcionan todos. Esto no es una guía de estilo — es código compartido.

Fiabilidad

Un error corregido en prestashop-admin se corrige en cada módulo que lo usa en la próxima actualización. Los parches de seguridad se propagan a todos. Cuando optimizamos las consultas de base de datos del entity selector, cada módulo con selección de productos se vuelve más rápido.

Soporte multi-versión

La capa de compatibilidad significa que puedes actualizar PrestaShop sin preocuparte por nuestros módulos. Probamos en PS 1.6, 1.7, 8.x y 9.x — y la infraestructura compartida maneja las diferencias para que los módulos individuales no tengan que hacerlo.

Sin conflictos

Los módulos que comparten tablas de base de datos (ps_mpr_config, mpr_sessions, mpr_public_holidays) están diseñados para coexistir. Instala cinco de nuestros módulos y se coordinan a través de la infraestructura compartida en lugar de interferir entre sí.

Ligero

Paquetes compartidos significan código compartido. El entity selector no se duplica en cada módulo — se instala una vez y lo usan todos. Esto mantiene los archivos ZIP de los módulos más pequeños y evita la sobrecarga de incluir la misma libreria múltiples veces.

Los números

  • 12 paquetes compartidos mantenidos como librerías separadas con su propio versionado
  • 30+ módulos construidos sobre esta base
  • 130+ métodos de selección de entidades solo en el entity selector
  • 4 versiones principales de PrestaShop soportadas desde una única base de código (1.6, 1.7, 8.x, 9.x)
  • 20+ componentes JavaScript de admin para interactividad consistente
  • 13 años de desarrollo continuo desde 2012

Arquitectura abierta

Todos los paquetes compartidos usan el namespace PHP MyPrestaRocks con autoloading PSR-4. Se instalan via Composer como dependencias reales — no copiadas y pegadas en directorios de módulos. Cada paquete tiene sus propias restricciones de versión, y los módulos declaran qué versiones necesitan.

Esto significa que cuando miras dentro del directorio vendor/myprestarocks/ de un módulo, estas viendo librerías reales y mantenidas — no depósitos de código abandonados.

Velo en acción

La mejor manera de entender lo que hacen estos paquetes es probar un módulo. Cada módulo en nuestro catálogo ofrece una demo gratuita — instálalo, abre el panel de administración y ve la infraestructura compartida en acción.

Preguntas sobre nuestra arquitectura o interés en desarrollo personalizado? Contáctanos.

Loading...
Back to top