Hi, I'm pretty new to this and having some trouble implementing a function on the homepage which lists pages from another section. I've got the news list sorted from the tutorials but can't seem to replicate it ... and trying to find documentation is a nightmare!
I've got a DocumentHolder type and a DocumentPage type:
*** in DocumentHolder.php ***
class DocumentHolder extends Page {
static $db = array();
static $has_one = array();
static $allowed_children = array('DocumentPage');
}
class DocumentHolder_Controller extends Page_Controller {}
*** in DocumentPage.php ***
class DocumentPage extends Page {
static $db = array(
'PDFdocDesc' => 'Text',
'ShowOnHomePage' => 'Text'
);
static $has_one = array(
'PDFdoc' => 'File'
);
function getCMSFields() {
$fields = parent::getCMSFields();
$fields->addFieldToTab("Root.Content.Main", new TextField('PDFdocDesc',"Document Description"));
$fields->addFieldToTab("Root.Content.Main", new FileIFrameField('PDFdoc',"PDF Document"));
$fields->addFieldToTab("Root.Content.Main", new CheckboxField('ShowOnHomePage',"Show this on homepage?"));
$fields->removeFieldFromTab("Root.Content.Main", "Content");
return $fields;
}
}
class DocumentPage_Controller extends Page_Controller {
}
and, I'm pretty sure this is where I'm getting trouble because I just copied the news one & I don't fully understand it yet :)
class HomePage_Controller extends ContentController {
function init() {
parent::init();
}
function LatestNews($num=5) {
$news = DataObject::get_one("NewsIntroPage");
return ($news) ? DataObject::get("NewsArticlePage", "ParentID = $news->ID", "Date DESC", "", $num) : false;
}
function HomeDocs($num=5) {
$doccys = DataObject::get_one("DocumentHolder");
return ($doccys) ? DataObject::get("DocumentPage", "ParentID = $doccys->ID", "Date DESC", "", $num) : false;
}
}
In my sidebar I'm trying to do this:
<% control HomeDocs %>
<% if $ShowOnHomePage %>
<li ><a href="$PDFdoc.filename" target="_blank" title="Download this file">$Title t</a></li>
<% end_if %>
<% end_control %>
any help with this would be much appreciated. Thanks