Source of file TemplatedElementControllerExtension.php
Size: 1,323 Bytes - Last Modified: 2021-12-23T10:07:53+00:00
/var/www/docs.ssmods.com/process/src/src/Extension/TemplatedElementControllerExtension.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | <?php namespace Symbiote\Elemental\Extension; use SilverStripe\Core\ClassInfo; use SilverStripe\Core\Extension; use Symbiote\UserTemplates\UserTemplate; /** * @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 = class_exists(UserTemplate::class) ? $widget->getComponent('LayoutTemplate') : null; 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->class))); } return $out; } } |