From b7cc15921469845256b583833736c7c3a24fe8eb Mon Sep 17 00:00:00 2001 From: Tom Rix Date: Mon, 14 Dec 2009 01:26:49 +0000 Subject: [PATCH] MINOR make widgetarea/editor more suitable for generic use git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@95086 467b73ca-7a2a-4603-9d3b-597d59a354a9 --- widgets/Widget.php | 8 ++++++-- widgets/WidgetArea.php | 12 +++++++++--- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/widgets/Widget.php b/widgets/Widget.php index 32d531ab7..c1dd5236f 100755 --- a/widgets/Widget.php +++ b/widgets/Widget.php @@ -12,7 +12,12 @@ */ class Widget extends DataObject { static $db = array( - "Sort" => "Int" + "Sort" => "Int", + "Enabled" => "Boolean" + ); + + static $defaults = array( + 'Enabled' => true ); static $has_one = array( @@ -22,7 +27,6 @@ class Widget extends DataObject { static $has_many = array(); static $many_many = array(); static $belongs_many_many = array(); - static $defaults = array(); static $default_sort = "Sort"; diff --git a/widgets/WidgetArea.php b/widgets/WidgetArea.php index 8c194f43e..e33b5f7de 100644 --- a/widgets/WidgetArea.php +++ b/widgets/WidgetArea.php @@ -18,6 +18,8 @@ class WidgetArea extends DataObject { static $belongs_many_many = array(); + public $template = __CLASS__; + /** * Used in template instead of {@link Widgets()} * to wrap each widget in its controller, making @@ -45,15 +47,19 @@ class WidgetArea extends DataObject { } function Items() { - return $this->Widgets(); + return $this->getComponents('Widgets'); } function ItemsToRender() { - return $this->Items(); + return $this->getComponents('Widgets', "Widget.Enabled = 1"); } function forTemplate() { - return $this->renderWith($this->class); + return $this->renderWith($this->template); + } + + function setTemplate($template) { + $this->template = $template; } function onBeforeDelete() {