ti-enxame.com

É possível alterar a ordem de disparo do plug-in do sistema sem a ordem de alteração no back-end?

Tenho um pequeno problema com um dos plug-ins de sistema de terceiros que são acionados antes do meu plug-in de sistema. Nós dois usamos onAfterRoute, mas se esse plug-in for pedido antes do meu, minha substituição não está ocorrendo. Eu sei que posso alterar a ordem do meu plug-in no back-end e, assim, evitar o problema.

O que eu não gosto é que eu precisaria fazer algo assim no plugin install.script.php para garantir que meu plugin sempre seja acionado primeiro

$q->set(array('enabled = 1','ordering = -1000'));

http://prntscr.com/3totid

Sim, é um truque feio e outro problema é que o administrador ainda pode alterar a ordem.

Portanto, a questão é: é possível fazer isso a partir do próprio plugin do sistema? Algo em JDispatcher talvez para pedir meu plugin primeiro?

Qualquer ajuda é apreciada!

3
Dan

A única maneira que eu poderia imaginar é se você tiver um segundo plug-in de sistema que faça isso em um evento anterior como onAfterInitialise. Você provavelmente teria que alterá-lo diretamente no banco de dados.

No entanto, imho, você não deve fazer isso. Cabe ao administrador do sistema decidir em qual ordem os plugins devem ser acionados. Se o seu plug-in precisar ser o primeiro, informe ao administrador que ele deve verificar isso.

3
Bakual