Source of file TemplatedElementControllerExtension.php
Size: 1,222 Bytes - Last Modified: 2021-12-23T10:35:46+00:00
/var/www/docs.ssmods.com/process/src/src/TemplatedElementControllerExtension.php
12345678910111213141516171819202122232425262728293031323334353637383940414243444546 | <?php namespace Symbiote\UserTemplates; use SilverStripe\Core\ClassInfo; use SilverStripe\Core\Extension; /** * @author marcus */ class TemplatedElementControllerExtension extends Extension { public function isTemplated() { $widget = $this->owner->getElement(); return $widget && ($widget->LayoutTemplateID || strlen($widget->RenderWithTemplate)); } public function TemplatedContent() { $out = ''; $widget = $this->owner->getElement(); if (!$widget) { return; } if ($widget->hasMethod('includeRequirements')) { $widget->includeRequirements(); } $template = $widget->LayoutTemplate(); if ($widget->LayoutTemplateID > 0 && $template) { $template->includeRequirements(); $out = $this->owner->renderWith($template->getTemplateFile()); } elseif (strlen($widget->RenderWithTemplate) && intval($widget->RenderWithTemplate) == 0) { $out = $this->owner->renderWith($widget->RenderWithTemplate); } else { $out = $this->owner->renderWith(array_reverse(ClassInfo::ancestry($widget->ClassName))); } return $out; } } |