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   2056 Views

Avatar
Blynx

Community Member, 20 Posts

1 June 2008 at 7:40pm

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

Community Member, 37 Posts

1 June 2008 at 7:51pm

Edited: 01/06/2008 7:52pm

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...