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.

General Questions /

General questions about getting started with SilverStripe that don't fit in any of the categories above.

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

Individual Sidebar for different Pages


Reply


930 Views

Avatar
StartUp3D

Community Member, 10 Posts

19 February 2009 at 10:52pm

Edited: 20/02/2009 12:24am

Hi there,
like here: http://www.silverstripe.org/archive/show/117657 it try to use different sidebars for different Pages. I followed the example from the link, but unfortunately it´s not quite working. I´m able to choose in my admin-view the page i want to display in the sidebar, but no content is shown on the output-page.

Here is my data i used:

mysite/code/ContentPage.php

class ContentPage extends Page
{
   static $db = array();
   static $has_one = array(
      'RightSideBar' => 'Page'
   );
   
   function getCMSFields()
   {
      $fields = parent::getCMSFields();
      $fields->addFieldToTab('Root.Content.Main', new TreeDropdownField("RightSideBar", "Rechte Sidebar anzeigen", "SiteTree"), 'Content');
      return $fields;
   }
}
class ContentPage_Controller extends Page_Controller {
   
}

mysite/code/RightSideBar.php

class RightSideBar extends ContentPage
{
   static $db = array();
   static $has_one = array();
}

class RightSideBar_Controller extends ContentPage_Controller
{

}

templates/Layout/ContentPage.ss

<div id="contentleft" style="width:500px;">
      $Content
</div>
<% control RightSideBar %>
   <div id="contentright" style="width:178px;">
      test: $Content
   </div>
<% end_control %>

Did I forgot something important?

Thank you for your support.

Best Greetings,
Otto