Remember me? forgot password | register

SilverStripe Forum

10689 Posts in 2796 Topics by 1518 members

Jump to:

Site Builders

If this is your first visit, you will need to register before you can post. However, you can browse all messages below.

Community » SilverStripe Forum » Site Builders » Need help with homepage function
Page: 1 go to end Reply
Author Topic: Need help with homepage function 221 views
  • galilee
    avatar
    Community Member
    28 posts
    8 SilverStripe Sites

    Need help with homepage function Link to this post

    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

    Last edited: 30 May 2008 at 9:52pm

    221 views
go to top Reply

Currently Online:

François, simon_w, Darkangel

Welcome to our latest member: aaragon