jrtderonde Posted August 29, 2016 Posted August 29, 2016 Hey, I made a hook that is triggered when a page with a certain template is saved. I meant to create the script only for the backend of the website. Now, whenever a page is saved on the front end (with the API) the module is being triggered. I was wondering if there is a method to have it only trigger whenever a page is saved on the backend (so not through the API). Jim
adrian Posted August 29, 2016 Posted August 29, 2016 In most cases you can simply do: if($page->template == "admin") { but this needs to be in ready(). If you need it to work within init(), then I use: if(strpos($_SERVER['REQUEST_URI'], wire('config')->urls->admin) === 0) { 3
Robin S Posted August 29, 2016 Posted August 29, 2016 Alternatively you can have your module autoload only in the PW admin. Then the hooks you add in init() won't apply to API code you use in a template file. public static function getModuleInfo() { return array( 'title' => 'My Module', 'version' => '1', 'summary' => "Module summary.", 'autoload' => "template=admin", ); } 3
adrian Posted August 29, 2016 Posted August 29, 2016 Just now, Robin S said: Alternatively you can have your module autoload only in the PW admin. Then the hooks you add in init() won't apply to API code you use in a template file. public static function getModuleInfo() { return array( 'title' => 'My Module', 'version' => '1', 'summary' => "Module summary.", 'autoload' => "template=admin", ); } This is a great idea (better than mine) if nothing in the module needs to work on the frontend, but one thing to note - if you change the autoload from true to template=admin you will need to do a Modules > Refresh to have the change take effect - I remember pulling some hairs in my early days of module development wondering why it wasn't working 4
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now