Skip to content

← Mòduls i desenvolupament

Anatomia d'un mòdul

Els fitxers mínims d'un mòdul, la classe principal i el cicle de vida (install/uninstall).

5 slides 5 min de lectura
  1. PrestaShop · Mòduls

    Anatomia d'un mòdul

    La unitat amb què s'estén PrestaShop.

    PrestaShop · Mòduls i desenvolupament arlaf.dev
  2. Els fitxers mínims

    Un mòdul és una carpeta dins de modules/ amb poca cosa obligatòria.

    • nomdelmodul/ — la carpeta, amb el mateix nom que la classe.
    • nomdelmodul.php — la classe principal que estén Module.
    • logo.png — la icona del back-office.
    PrestaShop · Mòduls i desenvolupament arlaf.dev
  3. La classe principal

    class MyModule extends Module
    {
        public function __construct()
        {
            $this->name = 'mymodule';
            $this->version = '1.0.0';
            $this->author = 'Arnau';
            parent::__construct();
            $this->displayName = $this->l('El meu mòdul');
        }
    }
    
    PrestaShop · Mòduls i desenvolupament arlaf.dev
  4. El cicle de vida

    install() corre quan s'instal·la (crear taules, registrar hooks, fixar config) i uninstall() ho desfà. Deixar-ho net és part de fer bé un mòdul.

    PrestaShop · Mòduls i desenvolupament arlaf.dev
  5. Carpetes habituals

    A mesura que creix, el mòdul guanya estructura.

    • controllers/ — controladors de front i admin.
    • views/ — plantilles i assets del mòdul.
    • classes/ — els teus ObjectModel.
    • translations/ — les traduccions.
    PrestaShop · Mòduls i desenvolupament arlaf.dev
Llegir la nota completa

Un mòdul és la unitat amb què s’estén PrestaShop sense tocar el nucli. Abans d’escriure’n cap, val la pena saber de què es compon.

El mínim imprescindible

Un mòdul viu en una carpeta dins de modules/ amb el mateix nom que la seva classe. Estrictament només necessita dues coses: el fitxer nomdelmodul.php amb la classe principal i un logo.png. La resta s’afegeix quan cal.

La classe principal

Tot mòdul defineix una classe que estén Module. Al constructor s’hi fixen les metadades (nom, versió, autor, nom visible) i es crida parent::__construct(). Aquesta classe és el punt d’entrada de tot el que el mòdul fa.

install() i uninstall(): el cicle de vida

Quan instal·les el mòdul des del back-office, PrestaShop crida install(): aquí crees les taules que necessitis, registres els hooks i fixes la configuració per defecte. uninstall() ha de desfer-ho tot. Un mòdul que s’instal·la net però deixa brossa en desinstal·lar-se és un mòdul mal acabat.

Quan creix

A mesura que el mòdul fa més coses, guanya carpetes previsibles: controllers/ (front i admin), views/ (plantilles i assets), classes/ (els teus ObjectModel) i translations/. Conèixer aquest esquelet fa que llegir mòduls d’altres —i el teu d’aquí sis mesos— sigui molt més ràpid.