it-swarm-eu.dev

Come sviluppare un modulo Joomla?

Ho cercato in lungo e in largo un tutorial su questo, ma non riesco a trovare nulla di soddisfacente. Come si crea un nuovo modulo per joomla?

In questo momento sto usando moduli HTML personalizzati in tutto il mio codice e mi piacerebbe riuscire a raggiungere PHP e trasformarli tutti in un modulo, ma non ho trovato un tutorial per farlo. Ho già modificato i moduli installati ma non so come crearne uno che verrà installato.

La documentazione di Joomla è piuttosto confusa e dopo averla letta varie volte ho rinunciato. Qualcuno può aiutarmi a spiegarmi questo processo? Grazie!

10
serakfalcon

Apprendimento dello sviluppo del modulo Joomla

Il modo in cui ho imparato è stato studiando e personalizzando il core o altri moduli di terze parti.
I moduli come concetto sono più semplici dei componenti (che potremmo dire sono 2 app front-end/back-end) e sono progettati per visualizzare un'informazione.
Quindi, se apri la cartella/i file del modulo e inizi a leggere il codice, probabilmente entrerai rapidamente in esso.

Joomla Module Anatomy con l'esempio

Ad esempio, puoi aprire il modulo Ultimi articoli in Joomla 3.2 e controllare il suo codice, leggendo le righe seguenti. Nella cartella del modulo troveremo i 4 file di base:

1. mod_articles_latest.php
2. helper.php
3. tmpl/default.php
4. mod_articles_latest.xml

  1. mod_articles_latest.php è il file principale dei moduli, quello che viene utilizzato per primo quando viene chiamato il modulo. Inizializza il modulo e include helper.php, Chiama il metodo di classe dell'helper per recuperare i dati e infine include il modello del modulo (default.php) Per visualizzare i dati.

  2. Il file helper.php è il "macchinario" del modulo (se potessimo nominarlo così). Nell'helper creiamo la classe del modulo e i suoi metodi per recuperare i dati. Questo è il luogo in cui possiamo far "parlare" il modulo con il database. Leggendo il codice nel file helper di questo modulo, vedrai che contiene la classe ModArticlesLatestHelper, che ne ha una Metodo: getList(&$params).
    All'interno di questo metodo il modulo sta controllando le impostazioni di back-end del modulo e alla fine crea l'elenco degli articoli che restituirà, in base a queste condizioni. Nota che questo modulo utilizza il metodo JModelLegacy::getInstance per restituire l'oggetto Content Model .

  3. default.php è il modello principale del modulo e responsabile della visualizzazione del contenuto del modulo. - Qui costruiamo l'output html, usando i dati recuperati in precedenza in mod_articles_latest.php Chiamando la classe del modulo. Si trova all'interno della cartella tmpl . * Si noti che il file del modulo principale include il file modello con il metodo JModuleHelper::getLayoutPath, che per primo verificherà l'eventuale sostituzione del modello.

  4. Infine, il mod_articles_latest.xml lo chiamerei "l'ambasciatore" del modulo. È il file che "introduce" il modulo a Joomla durante l'installazione, specifica i file che verranno copiati dal programma di installazione e contiene anche le informazioni sui parametri del modulo utilizzati dal gestore del modulo, nonché informazioni aggiuntive sul modulo.

Queste sono le parti essenziali di un modulo di base. Un altro aspetto che potresti prendere in considerazione è il supporto di più lingue. Ciò può essere ottenuto utilizzando Stringhe di lingua e file di traduzione linguistica . Se avessi raggiunto così tanto successo, per creare un modulo di base, aggiungere il supporto delle lingue dovrebbe essere piuttosto semplice.

17
FFrewin
15
Peter Wiseman

Abbiamo sviluppato un modulo gratuito per lo stesso scopo Personalizzato PHP Modulo per Joomla CMS .

Devi creare un PHP ad esempio login.php in [website-root]/modules/mod_customphp/files

  • Ora per usare questo file
  • Vai a [backend] -> module-manager
  • Crea un nuovo modulo php personalizzato
  • Nel parametro includefile put login
  • Questo renderà login.php nel modulo.
3
Shyam

È possibile copiare un modulo esistente in un'installazione locale. Quindi rinominalo nel modo desiderato. Devi anche rinominare i file php e xml così come i nomi delle classi php nel codice. Quindi crea un file zip del tuo modulo. Questo file zip che puoi installare nella tua installazione di joomla.

Desideri ulteriori dettagli sulla ridenominazione?

3
seagul