762 Posts in 312 Topics by 291 members
|
Page:
1
|
Go to End | |
| Author | Topic: | 1430 Views |
-
Adding widgets to other pages (SS 2.3)

14 March 2009 at 2:40am
Hi
I am having trouble getting the to add widgets in the general page type using SS 2.3.
Pretty sure I have done all thats is necessary, have run /db/build/?flush=1 but the widgets tab just is not showing in the CMS for pages other than blog. Any help with this would be much appreciated.
---------------------
Page.php code;
---------------------<?php
class Page extends SiteTree {
public static $db = array(
);
public static $has_one = array(
);
}
static $has_one = array(
"Sidebar" => "WidgetArea",
);
function getCMSFields() {
$fields = parent::getCMSFields();
$fields->addFieldToTab("Root.Content.Widgets", new WidgetAreaEditor("Sidebar"));
return $fields;
}class Page_Controller extends ContentController {
public function init() {
parent::init();// Note: you should use <% require %> tags inside your templates instead of putting Requirements calls here. However
// these are included so that our older themes still work
Requirements::themedCSS("layout");
Requirements::themedCSS("typography");
Requirements::themedCSS("form");
}
/**
* Site search form
*/
function SearchForm() {
$searchText = isset($_REQUEST['Search']) ? $_REQUEST['Search'] : 'Your query...';
$fields = new FieldSet(
new TextField("Search", "", $searchText)
);
$actions = new FieldSet(
new FormAction('results', 'Search')
);return new SearchForm($this, "SearchForm", $fields, $actions);
}
/**
* Process and render search results
*/
function results($data, $form){
$data = array(
'Results' => $form->getResults(),
'Query' => $form->getSearchQuery(),
'Title' => 'Search Results'
);return $this->customise($data)->renderWith(array('Page_results', 'Page'));
}
}?>
---------------------
SideBar.ss code;
---------------------
<div id="Sidebar" class="typography">
<div class="sidebarBox">
<h3>
In this section
</h3>
<ul id="Menu2">
<% control Menu(2) %>
<% if Children %>
<li class="$LinkingMode"><a href="$Link" title="Go to the $Title.XML page" class="$LinkingMode levela"><span><em>$MenuTitle.XML</em></span></a>
<% else %>
<li><a href="$Link" title="Go to the $Title.XML page" class="$LinkingMode levela"><span><em>$MenuTitle.XML</em></span></a>
<% end_if %>
<% if LinkOrSection = section %>
<% if Children %>
<ul class="sub">
<li>
<ul class="roundWhite">
<% control Children %>
<li><a href="$Link" title="Go to the $Title.XML page" class="$LinkingMode levelb"><span><em>$MenuTitle.XML</em></span></a></li>
<% end_control %>
</ul>
</li>
</ul>
<% end_if %>
<% end_if %>
</li>
<% end_control %>
</ul>
<div class="clear"></div>
</div>
<div class="sidebarBottom"></div>
$Sidebar
</div> -
Re: Adding widgets to other pages (SS 2.3)

19 March 2009 at 12:30am
Hi.
Hope I can help you.
Have you had any errors with your code? Because I think there are some typos:
class Page extends SiteTree {
public static $db = array(
);public static $has_one = array( ); <--- I think this line can be deleted 'cause you call $has_one later again
} <---- delete this
static $has_one = array(
"Sidebar" => "WidgetArea", <--- and delete this comma here
);...
So I hope this was of any help...
Cheers,
Christian
| 1430 Views | ||
|
Page:
1
|
Go to Top |


