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.

Data Model Questions /

trouble accessing data object via page controlls


Go to End
Reply


2 Posts   1099 Views

Avatar
snoopy

Community Member, 4 Posts

31 August 2009 at 6:15am

Hi!

I'm trying to set up a page modifying the example in tutorial 5, but now I got stuck... I'd really appreciate if someone could help me out...

So, I extended the data object like this:

class Teacher extends DataObject {

 static $db = array(
  'FirstName' => 'Text',
  'LastName' => 'Text',
  'Email' => 'Text',
  'PersonalInfo' => 'Text'
  );
  
 static $has_one = array(
  'MyTeacher' => 'TeacherPage',
  'Photo' => 'Image'
 );
 
 function getCMSFields_forPopup() {
  $fields = new FieldSet();
  $fields->push( new TextField('FirstName', 'Vorname'));
  $fields->push( new TextField('LastName', 'Nachname'));
  $fields->push( new TextField('Email', 'Email'));
  $fields->push( new TextAreaField('PersonalInfo', 'Persönliche Informationen'));
  return $fields;
 }
}

Then I created a page in order to contain all this information:

class TeacherPage extends Page {

 static $db = array();

 static $has_many = array(
  'MyTeachers' => 'Teacher'
 );
 	
 function getCMSFields() {
  $fields = parent::getCMSFields();

  $tablefield = new HasManyComplexTableField(
   $this,
   'MyTeachers',
   'Teacher',
   array( 'FirstName' => 'Vorname',
    'LastName' => 'Nachname',
    'Email' => 'Email',
    'PersonalInfo' => 'Persönliche Infos'),
   'getCMSFields_forPopup'
   );
  $tablefield->setAddTitle( 'Lehrer' );
  $fields->addFieldToTab( 'Root.Content.Lehrer', $tablefield);
  return $fields;
 }
}

The cms looks just fine and I can add all the information that I want. But when I'm trying to display all this information, I run into troubles... I don't know how to access the data, correctly... I thought it was supposed to look like this.

  <div id="TeachersList">
   <% if MyTeachers %>
    <% control MyTeachers %>
    <div class="TeacherInfo">
     <h3>$FirstName $LastName</h3>
    </div>
    <% end_control %>
   <% else %>
    nothing found
   <% end_if %>
  </div>

Avatar
Hamish

Community Member, 712 Posts

31 August 2009 at 1:40pm

That all looks fine. What trouble are you having? Ie, what does it display?