HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.
There are some tasks I face more often when trying to write a plugin and I always have to search in order to get started. I do not want to write a full blown skeleton with each and every possibility, I favor a collection of useful snippets. That's why I've started this discussion where I will post some useful snippets without much explanation. Maybe some of you want to join in...
First one is a skeleton for a page of the look and feel of a standard vanilla page
Please can we get some more, awesomeness
I never posted any follow ups, but there are a lot of things I need more often...
This one put at the end of a view will force a reload of the page after a popup has been closed.
Needful if you have a "edit" popup on a page and want the page to reload after you have made your changes
Although using pluginController for the plugins setting screen is recommended, I prefer using the settingsController:
A settings screen where you do some validations:
No. We defined the logic that pressing some specific Button-B on FormMain redirects to another formB which upon some Button-Return pressing returns to Main. So there is an implicit parent-child flow relationship. Clearly, pressing Button-Return gives control to the code that renders FormB. Then that code tries to redirect for the Main, and that's working fine without the Popup but breaks if FormB was in a popup. So again, I think for FormB logic should work identically regardless of the Popup state (in other words, Vanilla should handle it internally upon realizing that a different view is rendered). Here is the ideal FormB logic in pseduocode:
Thanks to @R_J 's <a href="https://open.vanillaforums.com/discussion/comment/255689/#Comment_255689">post</a> I figured how to avoid Plugin ThemeChooser from applying a custom theme to dashbard.
In /plugins/ThemeChooser/class.themechooser.plugin.php - just after: