17488 Posts in 4473 Topics by 1978 members
| Go to End | Next > | |
| Author | Topic: | 2250 Views |
-
Homepage page listing

14 June 2008 at 5:09pm Last edited: 14 June 2008 5:42pm
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 extends SiteTree {
static $db = array(
'SubTitle' => 'Text'
);
static $has_one = array(
);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
-
Re: Homepage page listing

14 June 2008 at 5:19pm
class HomePage_Controller extends ContentController {
Can you post the code you have for the HomePage class? I haven't been through this tutorial but I think that line should be:class HomePage_Controller extends PageController {
Cheers
Aaron -
Re: Homepage page listing

14 June 2008 at 5:52pm
Hi Aaron...I've added my Homepage class in the code above. Homepage sits at the same level as page (doesn't inherit from it) so extends sitetree rather than page.
-
Re: Homepage page listing

14 June 2008 at 6:06pm
So what is happening when you run that code exactly? It helps to know the error and where the error is occurring.
Aaron
-
Re: Homepage page listing

14 June 2008 at 6:31pm
sorry....so if I try and include the HomeDocs function on my homepage all I get when I try to go to the site is a blank page with:
Error
The website server has not been able to respond to your request. -
Re: Homepage page listing

14 June 2008 at 8:56pm Last edited: 14 June 2008 8:58pm
try
class HomePage_Controller extends Page_Controller {
with an underscore between page and controller...
*** edit ** sorry I didn't read everything, so just ignore this
-
Re: Homepage page listing

15 June 2008 at 10:53am
Put your site into dev mode so you can actually see the proper error rather then that blank generic one. So open up mysite/_config.php and add
Director::set_environment_type("dev");
or if you are doing this on a local dev environment eg WAMP or MAMP then make sure your server is in the array of dev servers in that _config
Director::set_dev_servers(array(
'localhost',
'127.0.0.1',
));Once the sites in dev mode we shall see a bright red (sometimes helpful) error!.
| 2250 Views | ||
| Go to Top | Next > |



