processwire / processwire-requests

ProcessWire feature requests.
39 stars 0 forks source link

Allow to access $page->* (fields) properties before or after field value loaded #491

Closed trk closed 1 year ago

trk commented 1 year ago

I want to track and modify all called $page->* (fields) properties, before property get a value or after property get a value. is it possible to do it with a method like hooks ??

<?php

$wire->addHookProperty('Page::*,Page::[id,title,body,image]', function(HookEvent $e) {
    $page = $e->object;
    // How to get name of property ???
    $property = '???';

    $isCached = true;
    if ($isCached) {
        $cachedValue = 'Cached value from somewhere';
        $value = $cachedValue;
    } else {
        $value = $page->get($property);
    }

    if ($property === 'title') {
        $value = "<h1>{$value}</h1>";
    }

    $e->return = $value;
});