flavioescobar1@gmail.com
Executar ações após salvar um item de um componente Joomla!

Executar ações após salvar um item de um componente Joomla!

Ao utilizar componentes para Joomla! (desenvolvidos ou não por nós), pode surgir a necessidade de implementar a execução de alguma ação a cada vez que um item deste componente seja salvo. Suponha, por exemplo, que você desenvolveu um componente chamado Ocorrências e quer inserir um registro em uma tabela de log cada vez que um usuário cria uma ocorrência nova ou edita uma preexistente.

A execução de ações a cada salvamento de itens de um componente pode ser feita de uma forma bastante elegante, 100% compatível com o Joomla! e de acordo com as suas convenções. Nesta dica você saberá como fazer isso.

Conheça o método postSaveHook

Os componentes do Joomla! 3 seguem o modelo MVC e possuem, portanto, um ou mais controllers. A classe do Joomla! JControllerForm implementa o método postSaveHook, que é acionado após o salvamento de um item de um componente. Veja a assinatura do método:

protected function postSaveHook(JModelLegacy $model, $validData = array())

Dentro deste método, você tem acesso ao model do item salvo e a um array contendo todos os dados validados. Basta, então, que o seu controller sobrescreva este método, fazendo o que você desejar dentro dele. Veja abaixo como ficaria o postSaveHook do nosso componente de Ocorrências:

class OcorrenciaControllerOcorrencia extends JControllerForm
{
    ...

protected function postSaveHook(JModelLegacy $model, $validData = array())
{
$item = $model->getItem();
$this->inserirLog( $item ); }
}

Então, você criaria a função inserirLog para fazer a inserção. Não está no escopo desta dica o código da função.

Gostou da dica? Tem alguma observação ou dúvida? Comente!

 

Posts similares

  • Como resolver pro...

    Dicas

  • Carregar módulos...

    Dicas

  • Como criar format...

    Dicas

Deixe um comentário



O meu blog fala de assuntos relacionados à Tecnologia da Informação. Aqui você encontra tutoriais, notícias e diversos outros conteúdos.




Executar ações após salvar um item de um componente Joomla!

Ao utilizar componentes para Joomla! (desenvolvidos ou não...


Como resolver problema do Gerenciador de Mídias do Joomla! só fazer uploads na pasta raiz

Você acessa o Gerenciador de Mídias do Joomla! e tenta...


Carregar módulos do Joomla! sem a tag jdoc

Você já precisou carregar um módulo do Joomla! fora do...


Como criar formatações personalizadas no editor TinyMCE do Joomla!

Muitas vezes, ao desenvolver um site para um cliente, nós...


Criando um módulo simples para Joomla! 3.x

Segundo a documentação do Joomla!, "um módulo é uma...