it-swarm-es.tech

¿Es posible llamar a un postflight en la instalación de un módulo?

Estoy creando un módulo que espero haga funciones un poco más complejas que muchas. Sin embargo, tendré que hacer ciertas cosas como la modificación de la base de datos y mover archivos cuando se instale el módulo.

Estoy trabajando con Joomla 3.3.

¿Es posible hacer una rutina postflight en la instalación de un módulo? ¿Puedes mostrar un ejemplo o un enlace a documentos?

¡Gracias!

4
user101289

Sí, esto es posible y también es bastante sencillo. En primer lugar, debe agregar lo siguiente al archivo XML de sus módulos:

<scriptfile>script.php</scriptfile>

Y, por supuesto, siguiendo esto, deberá crear un archivo llamado script.php o como quiera llamarlo. Solo asegúrese de cambiar el nombre del archivo en el código anterior en consecuencia. Ellos, en el archivo, agregan el siguiente código:

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

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

Simplemente agregue su código en la función postflight que luego se ejecutará después de que se haya instalado el módulo. Joomla también proporciona otras 4 funciones integradas:

  1. instalar
  2. desinstalar
  3. preflight
  4. actualizar

Estos también pueden ser útiles para el futuro. Puede encontrar más información sobre todo esto aquí:

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

Espero que esto ayude

2
Lodder

Sí, tú también deberías poder hacerlo.

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

Puede ajustar eso para usar "mod" también y en el archivo de configuración para el módulo solo necesita agregar <scriptfile>path</scriptfile> (Creo que podría ser un poco diferente a eso).

Para realizar cualquier manipulación de bases de datos y archivos, necesitará JDatabase y JFile/JFolder.

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

Esto debería ayudarlo a comenzar.

2
Jordan Ramstad