it-swarm.dev

È possibile cambiare l'ordine di attivazione del plugin di sistema senza cambiare l'ordine nel backend?

Ho un piccolo problema con uno dei plugin di sistema di terze parti che si attiva prima del mio plugin di sistema. Entrambi usiamo onAfterRoute ma se quel plugin è ordinato prima del mio, la mia sostituzione non ha luogo. So che posso cambiare l'ordine del mio plugin in backend e in questo modo evitare il problema.

La cosa che non mi piace è che avrei bisogno di fare qualcosa del genere in plugin install.script.php per assicurarmi che il mio plugin si attivi sempre per primo

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

http://prntscr.com/3totid

Sì, è un brutto hack e un altro problema è che l'amministratore può ancora cambiare l'ordine.

Quindi la domanda è: è possibile farlo dal plugin di sistema stesso? Qualcosa in JDispatcher forse per ordinare prima il mio plugin?

Qualsiasi aiuto è apprezzato!

3
Dan

L'unico modo che potrei immaginare è se hai un secondo plugin di sistema che lo fa in un evento precedente come onAfterInitialise. Probabilmente dovresti cambiarlo direttamente nel database allora.

Comunque sia, non dovresti farlo affatto. Spetta all'amministratore di sistema decidere in quale ordine devono essere attivati ​​i plugin. Se il tuo plug-in deve essere il primo, informa l'amministratore che dovrebbe verificarlo.

3
Bakual