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.


Discuss SilverStripe Widgets.

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

Widgets on a Page


2 Posts   618 Views


5 February 2013 at 1:55am (Last edited: 5 February 2013 1:58am), Community Member, 95 Posts

How can i tell if a Page has 'any' widgets?

If a page has a widget the page will need a sidebar.


   public static $has_one = array(
   "MyWidgets" => "WidgetArea"      

Layout >

<% if MyWidgets %>
<!-- Widgets -->
<!-- endWidgets -->
<% else %>
<!-- NO Widgets -->

<% end_if %>

On pages without widgets, no widgets show up as expected ...however the "if MyWidgets" isn't actually working! as the comment <!-- Widgets --> Always get rendered.

maybe i need a fuction on Page.phpto do some kind of check.

i want to do something like
if widges show a menu <span class="span3"> ..etc


5 February 2013 at 2:42am (Last edited: 5 February 2013 2:42am), Community Member, 95 Posts

Page_Controller ...
//check if this page has widgets assigned to it!
   public function WidgetCheck() {
   $widgetid = $this->MyWidgetsID;
   $widgetdata = Widget::get()->filter(array('ParentID' => $widgetid));
      return $widgetdata;

this works