Reasoning for why plugin controllers aren't prioritised?

Permalink
I'm trying to build a plugin that replaces a default concrete5 page, the /dashboard.

What I have done is to change the pkgID on the "/dashboard/view.php" entry in the Pages table to my plugin's id.

This is working for replacing the view however not for replacing the controller. I have noticed that in the loader library a plugin's controller is only loaded as a last resort. This means that if you want to replace a default controller you will never be able to do it in a plugin.

I was wondering about the reasoning behind this and why a plugin's controller doesn't get chosen first instead of last?

 
Mnkras replied on at Permalink Reply
Mnkras
yes, currently at this time, you cannot override controllers and views in a package, what you can do, is have it copy the files out of the package to the folders (like /controllers/dashboard/w/e

in the install() method then remove it in the uninstall() method
AndrewFenn replied on at Permalink Reply
Thanks for the response but what I want to know is if I change the code around so that it loads the plugin's version first would it break anything?

I wanted to know why the code was structured this way in the first place.

This website stores cookies on your computer. These cookies are used to improve your website experience and provide more personalized services to you, both on this website and through other media. To find out more about the cookies we use, see our Privacy Policy.