ti-enxame.com

É possível chamar um pós-voo em uma instalação de módulo?

Estou criando um módulo que, espero, faça funções um pouco mais complexas do que muitas. No entanto, precisarei fazer algumas coisas, como modificação do banco de dados e movimentação de arquivos quando o módulo for instalado.

Estou trabalhando com o Joomla 3.3.

É possível fazer uma rotina postflight em uma instalação do módulo? Você pode mostrar exemplo ou link para documentos?

Obrigado!

4
user101289

Sim, isso é possível e também é bastante direto. Primeiro, você precisa adicionar o seguinte ao seu arquivo XML de módulos:

<scriptfile>script.php</scriptfile>

E, é claro, passando por isso, você precisará criar um arquivo chamado script.php ou o que você quiser chamar. Apenas certifique-se de alterar o nome do arquivo no código acima de acordo. Eles, no arquivo, adicione o seguinte código:

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

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

Basta adicionar seu código na função pós-vôo, que será executada após a instalação do módulo. O Joomla também fornece outras 4 funções internas:

  1. instalar
  2. desinstalar
  3. comprovar
  4. atualizar

Isso também pode ser útil para o futuro. mais informações podem ser encontradas sobre tudo isso aqui:

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

Espero que isto ajude

2
Lodder

Sim, você deve ser capaz também.

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

Você pode ajustar isso para usar "mod" também e, no arquivo de configuração do módulo, basta adicionar <scriptfile>path</scriptfile> (Acho que poderia ser um pouco diferente do que isso).

Para fazer qualquer manipulação de banco de dados e arquivos, você precisará do JDatabase e JFile/JFolder.

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

Isso deve ajudar você a começar.

2
Jordan Ramstad