EventLoader by ukyo (@trk)

Event Loader module module allow you to load events from event files

EventLoader Module for ProcessWire CMS/CMF

EventLoader module allow you to load events from a event files.

Requirements


  • ProcessWire 3.0 or newer
  • PHP 7.0 or newer

Installation


Install the module from the modules directory:

Via Composer:

composer require trk/processwire-event-loader

Via git clone:

cd your-processwire-project-folder/
cd site/modules/
git clone https://github.com/trk/EventLoader.git
  • Module will check below folders for events:
/site/templates/events
/site/templates/configs/events
/site/modules/*/events
/site/modules/*/configs/events
  • Loading events from site/ready.php file
<?php namespace ProcessWire;

if(!defined("PROCESSWIRE")) die();

EventLoader::load(__DIR__ . '/templates', 'ready.');
  • Event file: site/templates/configs/events/ready.hello-world.php
<?php

namespace ProcessWire;

class HelloController
{
    public function greeting()
    {
        echo 'Hello World !';
        exit;
    }
}

return [
    // 'run' => true, // Also you can pass run option for this file
    'events' => [

        '/hello-world' => [HelloController::class, 'greeting'],

        'Page::private' => [
            'run' => wire()->user->isLoggedin()
            'type' => 'method',
            'fn' => function (HookEvent $e) {
                $e->return = 'This will run, if user logged in';
            }
        ],

        'Page::hello' => [
            'type' => 'method',
            'fn' => function (HookEvent $e) {
                $message = is_string($e->arguments(0)) ? $e->arguments(0) : '';
                $e->return = $message;
            }
        ]

    ]
];
  • Usage
<?php
echo $page->hello('World');

Install and use modules at your own risk. Always have a site and database backup before installing new modules.

Latest news

  • ProcessWire Weekly #549
    In the 549th issue of ProcessWire Weekly we’re going to check out the latest core updates, highlight one older yet still very relevant third party module, and more. Read on!
    Weekly.pw / 17 November 2024
  • Custom Fields Module
    This week we look at a new ProFields module named Custom Fields. This module provides a way to rapidly build out ProcessWire fields that contain any number of subfields/properties within them.
    Blog / 30 August 2024
  • Subscribe to weekly ProcessWire news

“The end client and designer love the ease at which they can update the website. Training beyond how to log in wasn’t even necessary since ProcessWire’s default interface is straightforward.” —Jonathan Lahijani