it-swarm-id.com

Apakah mungkin untuk mengubah urutan api plugin sistem tanpa mengubah urutan di backend?

Saya memiliki masalah kecil dengan salah satu plugin sistem pihak ke-3 yang menyala sebelum plugin sistem saya. Kami berdua menggunakan onAfterRoute tetapi jika plugin itu dipesan sebelum saya, penggantian saya tidak terjadi. Saya tahu bahwa saya dapat mengubah urutan plugin saya di backend dan dengan cara ini menghindari masalah.

Hal yang saya tidak suka adalah bahwa saya perlu melakukan sesuatu seperti ini di plugin install.script.php untuk memastikan plugin saya selalu menyala terlebih dahulu

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

http://prntscr.com/3totid

Ya, ini adalah hack yang jelek dan masalah lainnya adalah admin masih bisa mengubah urutannya.

Jadi pertanyaannya adalah, mungkinkah melakukan ini dari sistem plugin itu sendiri? Sesuatu di JDispatcher mungkin untuk memesan plugin saya terlebih dahulu?

Bantuan apa pun dihargai!

3
Dan

Satu-satunya cara saya bisa membayangkan adalah jika Anda memiliki plugin sistem kedua yang melakukan itu di acara sebelumnya seperti onAfterInitialise. Anda mungkin harus mengubahnya di database secara langsung.

Bagaimanapun juga, Anda seharusnya tidak melakukan itu sama sekali. Terserah admin sistem untuk memutuskan urutan plugin mana yang akan diaktifkan. Jika plugin Anda harus menjadi yang pertama, beri tahu admin bahwa ia harus memeriksanya.

3
Bakual