diff --git a/_config.php b/_config.php index fb76338..07a6109 100644 --- a/_config.php +++ b/_config.php @@ -4,4 +4,6 @@ Director::addRules(10, array( 'metaweblog' => 'MetaWeblogController' )); +if(class_exists('WidgetArea')) DataExtension::add_to_class('BlogTree','BlogTreeExtension'); + ?> diff --git a/code/BlogHolder.php b/code/BlogHolder.php index 528d91b..b71d13a 100644 --- a/code/BlogHolder.php +++ b/code/BlogHolder.php @@ -111,26 +111,32 @@ class BlogHolder extends BlogTree implements PermissionProvider { $blogholder->URLSegment = "blog"; $blogholder->Status = "Published"; - $widgetarea = new WidgetArea(); - $widgetarea->write(); + if(class_exists('WidgetArea')) { + $widgetarea = new WidgetArea(); + $widgetarea->write(); - $blogholder->SideBarID = $widgetarea->ID; - $blogholder->write(); - $blogholder->publish("Stage", "Live"); + $blogholder->SideBarID = $widgetarea->ID; + $blogholder->write(); + $blogholder->publish("Stage", "Live"); - $managementwidget = new BlogManagementWidget(); - $managementwidget->ParentID = $widgetarea->ID; - $managementwidget->write(); + $managementwidget = new BlogManagementWidget(); + $managementwidget->ParentID = $widgetarea->ID; + $managementwidget->write(); - $tagcloudwidget = new TagCloudWidget(); - $tagcloudwidget->ParentID = $widgetarea->ID; - $tagcloudwidget->write(); + $tagcloudwidget = new TagCloudWidget(); + $tagcloudwidget->ParentID = $widgetarea->ID; + $tagcloudwidget->write(); - $archivewidget = new ArchiveWidget(); - $archivewidget->ParentID = $widgetarea->ID; - $archivewidget->write(); + $archivewidget = new ArchiveWidget(); + $archivewidget->ParentID = $widgetarea->ID; + $archivewidget->write(); - $widgetarea->write(); + $widgetarea->write(); + } else { + $blogholder->write(); + $blogholder->publish("Stage", "Live"); + } + $blog = new BlogEntry(); $blog->Title = _t('BlogHolder.SUCTITLE', "SilverStripe blog module successfully installed"); diff --git a/code/BlogTree.php b/code/BlogTree.php index 9b559c3..df76abc 100644 --- a/code/BlogTree.php +++ b/code/BlogTree.php @@ -23,9 +23,9 @@ class BlogTree extends Page { 'InheritSideBar' => True ); - static $has_one = array( - "SideBar" => "WidgetArea", - ); + static $has_one = array(); + + static $has_many = array(); static $allowed_children = array( 'BlogTree', 'BlogHolder' @@ -113,9 +113,11 @@ class BlogTree extends Page { "12 MONTH" => "Last year's entries", "INHERIT" => "Take value from parent Blog Tree" ))); - - $fields->addFieldToTab("Root.Widgets", new CheckboxField("InheritSideBar", 'Inherit Sidebar From Parent')); - $fields->addFieldToTab("Root.Widgets", new WidgetAreaEditor("SideBar")); + if(class_exists('WidgetArea')) { + $fields->addFieldToTab("Root.Widgets", new CheckboxField("InheritSideBar", 'Inherit Sidebar From Parent')); + $fields->addFieldToTab("Root.Widgets", new WidgetAreaEditor("SideBar")); + } + return $fields; } diff --git a/code/widgets/BlogTreeExtension.php b/code/widgets/BlogTreeExtension.php new file mode 100644 index 0000000..60b5820 --- /dev/null +++ b/code/widgets/BlogTreeExtension.php @@ -0,0 +1,7 @@ + "WidgetArea"); + +} \ No newline at end of file