it-swarm.it

È possibile chiamare un postflight sull'installazione di un modulo?

Sto creando un modulo che spero possa svolgere funzioni un po 'più complesse di molte altre. Tuttavia, dovrò fare alcune cose come la modifica del DB e lo spostamento dei file quando il modulo viene installato.

Sto lavorando con Joomla 3.3.

È possibile eseguire una routine postflight su un'installazione del modulo? Puoi mostrare esempi o link a documenti?

Grazie!

4
user101289

Sì, questo è possibile ed è anche piuttosto semplice. Innanzitutto, è necessario aggiungere quanto segue al file XML dei moduli:

<scriptfile>script.php</scriptfile>

E ovviamente, andando avanti con questo, dovrai creare un file chiamato script.php o come desideri chiamarlo. Assicurati di cambiare di conseguenza il nome del file nel codice sopra. Loro, nel file, aggiungono il seguente codice:

<?php  
defined('_JEXEC') or die('Restricted access');

class com_helloWorldInstallerScript
{    
     function postflight($type, $parent) 
     {
           // all your code goes in here
     }
}

Aggiungi semplicemente il tuo codice nella funzione postflight che verrà eseguita dopo l'installazione del modulo. Joomla offre anche altre 4 funzioni integrate:

  1. installare
  2. disinstallazione
  3. preflight
  4. aggiornare

Questi possono anche tornare utili per il futuro. maggiori informazioni possono essere trovate su tutto questo qui:

https://docs.joomla.org/J3.x:Developing_an_MVC_Component/Adding_an_install-uninstall-update_script_file

Spero che sia di aiuto

2
Lodder

Sì, dovresti esserlo anche tu.

http://docs.joomla.org/J2.5:Developing_a_MVC_Component/Adding_an_install-uninstall-update_script_file

http://docs.joomla.org/J2.5:Creating_a_simple_module/Adding_an_install-uninstall-update_script_file

Puoi modificarlo per usare anche "mod" e nel file di configurazione per il modulo devi solo aggiungere <scriptfile>path</scriptfile> (Penso, potrebbe essere leggermente diverso da quello).

Per eseguire qualsiasi manipolazione di database e file è necessario JDatabase e JFile/JFolder.

http://docs.joomla.org/Selecting_data_using_JDatabasehttp://docs.joomla.org/How_to_use_the_filesystem_package

Questi dovrebbero aiutarti a iniziare.

2
Jordan Ramstad