Documented cms.template.processTwigContent

This commit is contained in:
Luke Towers 2018-10-11 19:28:17 -06:00
parent 69d22518c6
commit 10aa5a6296
2 changed files with 11 additions and 5 deletions

View File

@ -588,8 +588,6 @@ class Index extends Controller
$settings['viewBag'] = $viewBag;
}
$dataHolder = (object) ['settings' => $settings];
/**
* @event cms.template.processSettingsBeforeSave
* Fires before a CMS template (page|partial|layout|content|asset) is saved and provides an opportunity to interact with the settings data. `$dataHolder` = {settings: array()}
@ -607,6 +605,7 @@ class Index extends Controller
* });
*
*/
$dataHolder = (object) ['settings' => $settings];
$this->fireSystemEvent('cms.template.processSettingsBeforeSave', [$dataHolder]);
return $dataHolder->settings;

View File

@ -46,11 +46,18 @@ class Loader extends LoaderBase implements Twig_LoaderInterface
$content = $this->obj->getTwigContent();
/*
* Extensibility
/**
* @event cms.template.processTwigContent
* Provides an oportunity to modify Twig content before being processed by Twig. `$dataHolder` = {content: $twigContent}
*
* Example usage:
*
* Event::listen('cms.template.processTwigContent', function ((\Cms\Classes\CmsObject) $thisObject, (object) $dataHolder) {
* $dataHolder->content = "NO CONTENT FOR YOU!";
* });
*
*/
$dataHolder = (object) ['content' => $content];
Event::fire('cms.template.processTwigContent', [$this->obj, $dataHolder]);
return new Twig_Source($dataHolder->content, $name);