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 #544
    In the 150th issue of ProcessWire Weekly we'll check out brand-new third party module called Inputfield Dependency Helper, share some recent highlights from the support forum, and more. Read on!
    Weekly.pw / 12 October 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

“Indeed, if ProcessWire can be considered as a CMS in its own right, it also offers all the advantages of a CMF (Content Management Framework). Unlike other solutions, the programmer is not forced to follow the proposed model and can integrate his/her ways of doing things.” —Guy Verville, Spiria Digital Inc.