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


2 Posts   1088 Views


Community Member, 4 Posts

31 August 2009 at 6:15am


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(
array( 'FirstName' => 'Vorname',
'LastName' => 'Nachname',
'Email' => 'Email',
'PersonalInfo' => 'Persönliche Infos'),
$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>
<% end_control %>
<% else %>
nothing found
<% end_if %>


Community Member, 712 Posts

31 August 2009 at 1:40pm

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