Support Hub Article

Our Technology

Scopri l'ecosistema di pacchetti condivisi dietro i moduli mypresta.rocks. 12 librerie proprietarie, interfaccia admin coerente e compatibilita multi-versione.

Non solo moduli — una piattaforma

Ogni modulo mypresta.rocks funziona su una base condivisa di 12 pacchetti proprietari che abbiamo costruito e mantenuto dal 2012. Non sono wrapper o generatori di boilerplate — sono librerie costruite appositamente che risolvono problemi difficili nello sviluppo di moduli PrestaShop.

Quando installi uno dei nostri moduli, ottieni anni di ingegneria accumulata: interfacce admin coerenti, selezione intelligente delle entita, compatibilita multi-versione da PS 1.6 a 9.x e infrastruttura condivisa che significa che i bug corretti in un modulo vengono corretti ovunque.

I pacchetti condivisi

prestashop-admin

Il nostro pacchetto piu fondamentale. Ogni pannello admin dei moduli e costruito su questo — un toolkit UI completo che fornisce:

  • Controller di base — MPRAdminController e MPRListController con upload immagini AJAX integrato, editing inline e modali per i campi
  • Filtraggio avanzato — filtraggio basato su database con sei tipi di filtro: testo, intervallo numerico, intervallo date, selezione, selezione multipla e booleano
  • Gestione colonne — gli utenti scelgono quali colonne mostrare, salvano preset, e lo stato persiste per dipendente
  • 20+ componenti JavaScript — datepicker, modali, toast, editor inline, liste AJAX, tutti funzionanti insieme
  • 35+ stili componenti SCSS — aspetto coerente in ogni modulo, ogni versione di PrestaShop

Ecco perche ogni pannello admin dei moduli mypresta.rocks ha lo stesso aspetto. Non e una coincidenza — e un toolkit condiviso con oltre un decennio di iterazione.

prestashop-entity-selector

Probabilmente il nostro pacchetto piu complesso. Un widget universale per selezionare entita PrestaShop con logica di inclusione/esclusione.

  • 18 tipi di entita — prodotti, categorie, produttori, fornitori, pagine CMS, dipendenti, clienti, gruppi clienti, corrieri, zone, paesi, valute, lingue, negozi, profili, stati ordine, tasse e altro
  • 130+ metodi di selezione — selezionare prodotti per categoria, produttore, tag, attributo, caratteristica, combinazione, condizione, visibilita, stato stock, fascia di prezzo, intervallo date, intervallo ID, pattern nome e decine di altri
  • Logica inclusione/esclusione — definisci cosa e incluso, poi ritaglia le eccezioni. “Tutti i prodotti nella categoria X, eccetto quelli del produttore Y, a meno che non siano in offerta”
  • Raggruppamento con AND/OR — piu gruppi di selezione combinati con logica booleana, ciascuno con il proprio limite e ordinamento
  • Anteprima in tempo reale — vedi gli elementi corrispondenti aggiornarsi in tempo reale mentre regoli le condizioni

Invece di ogni modulo che reinventa la selezione prodotti con un semplice autocomplete, tutti condividono un componente potente e testato.

prestashop-compatibility

PrestaShop cambia significativamente tra le versioni. Firme dei controller, percorsi dei template, formati di risposta AJAX, nomi degli hook — tutto diverso tra 1.7 e 8.x e 9.x.

Questo pacchetto assorbe queste differenze. I moduli programmano contro un'API stabile, e il livello di compatibilita gestisce il comportamento specifico della versione sottostante. Ecco come supportiamo PS 1.6 fino a 9.x da un'unica base di codice senza riempire il codice di controlli di versione.

template-injector

Alcuni moduli devono iniettare contenuto nei template del tema senza richiedere modifiche manuali. Questo pacchetto scansiona i file Smarty .tpl, identifica i punti di chiamata degli hook e inietta l'output del modulo nella posizione corretta.

  • Scansione automatica dei template — scopre i punti di iniezione in qualsiasi tema
  • Risoluzione consapevole del tema — gestisce temi figlio, override dei template e fallback del tema genitore
  • Tracciamento delle iniezioni — sa cosa e stato iniettato dove, cosi puo rimuoversi pulitamente alla disinstallazione
  • Gestione profili — diverse configurazioni di iniezione per diversi contesti

Utilizzato da moduli come mprsubtitles, mprblogrevolution e mprhtmlblocks che devono posizionare contenuto in posizioni dove PrestaShop non fornisce hook.

prestashop-url

La gestione degli URL in PrestaShop e notoriamente fragile. Questo pacchetto fornisce un vero motore URL con gestione dei pattern, routing e gestione del ciclo di vita delle entita.

  • Generazione URL basata su pattern — definisci pattern URL con variabili, genera automaticamente URL SEO-friendly
  • Integrazione ciclo di vita entita — quando un prodotto o una categoria viene creato, aggiornato o eliminato, gli URL si aggiornano automaticamente
  • Backend di archiviazione intercambiabili — pattern basati su database o configurazione a seconda del caso d'uso
  • Gestione dello schema — gestisce autonomamente la creazione e la migrazione delle tabelle del database

Alimenta mprseorevolution e mprfriendlyurl.

prestashop-icons

I temi PrestaShop utilizzano diversi set di icone — Hummingbird usa Material Icons, Classic usa Font Awesome, alcuni temi di terze parti usano qualcosa di completamente diverso.

  • Nomi di icone semantici — i moduli usano nomi come “cart”, “success”, “edit”, “delete” invece di nomi di classi specifici per font
  • Rilevamento del tema — rileva automaticamente quale set di icone utilizza il tema attivo e mappa i nomi semantici alle classi corrette
  • Self-hosting — se il tema non include il font di icone necessario, il pacchetto lo integra
  • Fogli sprite SVG — 38 icone di brand di pagamento e 12 icone di social media con varianti chiare, scure e di accento

prestashop-session

Tracciamento sessione condiviso tra i moduli, utilizzando una singola tabella database mpr_sessions.

  • Rilevamento bot — identifica crawler e traffico automatizzato prima che raggiunga la logica del modulo
  • Fingerprinting dispositivo — rilevamento browser, sistema operativo e tipo di dispositivo
  • Hashing sessione — identificazione sessione coerente tra i caricamenti di pagina

Utilizzato da mprsecurityrevolution e mprcheckoutrevolution — condividono i dati di sessione invece di tracciare ciascuno indipendentemente.

prestashop-schedule & prestashop-public-holidays

Logica temporale di cui piu moduli hanno bisogno:

  • Widget di pianificazione — intervalli data/ora, pianificazioni settimanali ricorrenti, gestione fusi orari
  • Gestione festivita — database centralizzato delle festivita condiviso tra i moduli tramite la tabella mpr_public_holidays
  • Usati insieme — “applica questo sconto nei giorni lavorativi eccetto le festivita” in mprsalesrevolution, o “mostra questi risultati di ricerca solo durante l'orario di lavoro” in mprsearchrevolution

prestashop-target-conditions & prestashop-front

Pacchetti piu recenti nel nostro ecosistema:

  • Target Conditions — regole di targeting riutilizzabili (per gruppo clienti, paese, dispositivo, valore carrello, ecc.) condivise tra i moduli che necessitano di logica di visualizzazione condizionale
  • Componenti front — blocchi costruttivi UI frontend per l'output del modulo lato cliente, garantendo uno stile coerente senza conflitti con il tema

Perche questo e importante per te

Coerenza

Ogni pannello admin dei moduli funziona allo stesso modo. Stesso filtraggio, stessa gestione colonne, stesse scorciatoie da tastiera, stessi pattern AJAX. Impara un modulo e sai come funzionano tutti. Questa non e una guida di stile — e codice condiviso.

Affidabilita

Un bug corretto in prestashop-admin viene corretto in ogni modulo che lo utilizza al prossimo aggiornamento. Le patch di sicurezza si propagano ovunque. Quando ottimizziamo le query del database dell'entity selector, ogni modulo con selezione prodotti diventa piu veloce.

Supporto multi-versione

Il livello di compatibilita significa che puoi aggiornare PrestaShop senza preoccuparti dei nostri moduli. Testiamo su PS 1.6, 1.7, 8.x e 9.x — e l'infrastruttura condivisa gestisce le differenze cosi i singoli moduli non devono farlo.

Nessun conflitto

I moduli che condividono tabelle di database (ps_mpr_config, mpr_sessions, mpr_public_holidays) sono progettati per la coesistenza. Installa cinque dei nostri moduli e si coordinano attraverso l'infrastruttura condivisa invece di interferire l'uno con l'altro.

Leggero

Pacchetti condivisi significano codice condiviso. L'entity selector non e duplicato in ogni modulo — e installato una volta e usato da tutti. Questo mantiene i file ZIP dei moduli piu piccoli ed evita il rigonfiamento dato dall'integrare la stessa libreria piu volte.

I numeri

  • 12 pacchetti condivisi mantenuti come librerie separate con il proprio versionamento
  • 30+ moduli costruiti su questa base
  • 130+ metodi di selezione entita nel solo entity selector
  • 4 versioni principali di PrestaShop supportate da un'unica base di codice (1.6, 1.7, 8.x, 9.x)
  • 20+ componenti JavaScript admin per un'interattivita coerente
  • 13 anni di sviluppo continuo dal 2012

Architettura aperta

Tutti i pacchetti condivisi utilizzano il namespace PHP MyPrestaRocks con autoloading PSR-4. Sono installati tramite Composer come vere dipendenze — non copiati e incollati nelle directory dei moduli. Ogni pacchetto ha i propri vincoli di versione, e i moduli dichiarano quali versioni necessitano.

Questo significa che quando guardi nella directory vendor/myprestarocks/ di un modulo, stai guardando librerie reali e mantenute — non depositi di codice abbandonati.

Vedilo in azione

Il modo migliore per capire cosa fanno questi pacchetti e provare un modulo. Ogni modulo nel nostro catalogo offre una demo gratuita — installalo, apri il pannello admin e vedi l'infrastruttura condivisa all'opera.

Domande sulla nostra architettura o interessato allo sviluppo personalizzato? Contattaci.

Need more help?

Browse our full support resources or reach out to our team directly.

Caricamento in corso ...
Torna all'inizio