Una volta scritto un componente può essere utile realizzarne il pacchetto di installazione per Joomla!

Il vantaggio è quello di poterlo instalare/disinstallare a piacimento ed in maniera semplice, utilizzando la funzione presente nel back-end del CMS.

Per fare ciò basterebbe comprimere in un file .zip (o un .tar.gz) quanto presente nella directory com_miocomponente se non fosse che spesso i pacchetti, in quanto programmi complessi, possono utilizzare tabelle di appoggio nel database e eventualmente dati necessari a questi per funzionare.

Per creare automaticamente tabelle nel database di Joomla! all’installazione del componente, inserirne valori e rimuovere tutto alla disinstallazione del componente, basta aggiungere alla directory del componente due file sql:

install.sql - contenente le query di creazione della/e tabella/e e eventualmente dei dati da inserire, ad esempio:

DROP TABLE IF EXISTS `#__miatab`;

CREATE TABLE '#__miatab` (
'id' INT NOT NULL AUTO_INCREMENT,
'nome');

INSERT INTO '#__miatab' ('id', 'nome') VALUES (1, 'antonio');

NB: Notate l’utilizzo della costante #__ per il suffisso delle tabelle

Il file uninstall.sql, invece:

DROP TABLE IF EXISTS '#__miatab';

Importante ora è modificare il file xml che descrive il componente, aggiungendo (prima dei tag dei files):

<install>
<sql>
<file charset="utf8" driver="mysql">install.sql</file>
</sql>
</install>

<uninstall>
<sql>
<file charset="utf8" driver="mysql">uninstall.sql</file>
</sql>
</uninstall>


1 commentodomande ? commenti ? dì la tua

  • Piero il 12 ago 2009 18:22, scrive:

    Interessante tutorial. Avrei però una perplessità. Io ho fatto un piccolo modulo, che fa riferimento ad una tabella che mi sono creato.
    Bene, adesso volevo creare il file di installazione, con ovviamente le tabelle da inserire. Purtroppo sembra non funzionare.
    La mia domanda è: siete sicuri che si possa inserire anche nei moduli i tag install per le tabelle ?
    Io pensavo che questa funzionalità fosse riservata ai componenti. Se così non è cosa devo verificare meglio per far funzionare la mia istallazione ?
    Grazie e continuate con questi tutorial.

lascia un commento

bentornato  (cambia)




invio commento...