Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

Archive

Our old forums are still available as a read-only archive.

Moderators: martimiz, Sean, biapar, Willr, Ingo, simon_w

Automatically add widget to page type?


Reply

2 Posts   2016 Views

Avatar
Blynx

1 June 2008 at 7:40pm Community Member, 20 Posts

Hi, I'm trying to extend a page type (such as BlogEntry, GalletyPage etc.) to have a specific widget added by default (immediately after creation).
I don't want to integrate it into the *.ss-file, as it should still be possible to remove it in the CMS widget area if needed.

Any ideas where I should start looking how to realize this?
Thanks!

Blynx

Avatar
spenniec

1 June 2008 at 7:51pm (Last edited: 1 June 2008 7:52pm), Community Member, 37 Posts

Hi Blynx

If you have a look at blog/code/BlogHolder.php function requireDefaultRecords() you will see the code that adds the 3 widgets automatically when you install the Blog module

         $widgetarea = new WidgetArea();
         $widgetarea->write();
         
         $blogholder->SideBarID = $widgetarea->ID;
         $blogholder->write();
         $blogholder->publish("Stage", "Live");
         
         $managementwidget = new BlogManagementWidget();
         $managementwidget->ParentID = $widgetarea->ID;
         $managementwidget->write();
         
         $tagcloudwidget = new TagCloudWidget();
         $tagcloudwidget->ParentID = $widgetarea->ID;
         $tagcloudwidget->write();
         
         $archivewidget = new ArchiveWidget();
         $archivewidget->ParentID = $widgetarea->ID;
         $archivewidget->write();
         
         $widgetarea->write();

So you should be able add widgets using this code providing you create a suitable object, in this case the object is $blogholder.
Never tried it but that's the theory...