Jump to:

17452 Posts in 4473 Topics by 1971 members


SilverStripe Forums » Archive » Automatically add widget to page type?

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

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

Page: 1
Go to End
Author Topic: 2004 Views
  • Blynx
    Community Member
    20 Posts

    Automatically add widget to page type? Link to this post

    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?


  • spenniec
    Community Member
    37 Posts

    Re: Automatically add widget to page type? Link to this post

    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();
             $blogholder->SideBarID = $widgetarea->ID;
             $blogholder->publish("Stage", "Live");
             $managementwidget = new BlogManagementWidget();
             $managementwidget->ParentID = $widgetarea->ID;
             $tagcloudwidget = new TagCloudWidget();
             $tagcloudwidget->ParentID = $widgetarea->ID;
             $archivewidget = new ArchiveWidget();
             $archivewidget->ParentID = $widgetarea->ID;

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

Page: 1
Go to Top

Want to know more about the company that brought you SilverStripe? Then check out SilverStripe.com

Comments on this website? Please give feedback.