it-swarm.dev

Elimina cartella all'aggiornamento dell'estensione

Ho creato uno script.php che contiene la seguente funzione:

protected function update400()
{
    jimport('joomla.filesystem.folder');
    jimport('joomla.filesystem.file');

    JFolder::delete(JPATH_ROOT . '/media/mod_MYMODULE/js');
}

Questa funzione viene quindi chiamata all'interno del preflight() predefinito di Joomla. La funzione sta ricevendo, chiamata, tuttavia al momento dell'installazione, viene visualizzato il seguente errore:

JInstaller: :Install: File does not exist C:\wamp\www\tmp\install_53de639f7a0b6\400\media\js

Inizialmente pensavo che ciò fosse dovuto al fatto che stavo chiamando update400() dalla funzione preflight(), quindi ho provato a chiamarlo dalla funzione postflight(), ma ciò non ha fatto qualsiasi differenza.

Quello che sto cercando di capire, è perché sta cercando nella cartella tmp quando ho definito in modo specifico il percorso.

Qualcuno sa perché questo sta accadendo?

1
Lodder

Io uso JPATH_SITE all'interno del metodo di aggiornamento che funziona bene per me.

Non userei affatto preflight. Eliminerebbe i file anche se l'aggiornamento non riesce, che probabilmente non è quello che desideri. postflight è il più appropriato ma devi verificare se si tratta di un'installazione, aggiornamento o scopri lì.

1
Bakual