I'm almost there with my staff/departments page, I just can't seem to get the summary fields that I want to be displayed, displayed. Which is odd because they were working a while ago, complete with a proper thumbnail image, which also seems to be broken now. I've tried rebuilding and flushing.
Here's the code:
<?php
class StaffPage extends Page {
public static $has_many = array(
'StaffMembers' => 'StaffMember',
'Departments' => 'Department'
);
public function getCMSFields() {
$fields = parent::getCMSFields();
//Configures the editor for adding and removing staff.
$gridFieldConfig =$gridFieldConfig = GridFieldConfig_RecordEditor::create();
$gridfield = new GridField("StaffMembers", "StaffMember", $this->StaffMembers(), $gridFieldConfig);
$dataColumns = $gridfield->getConfig()->getComponentByType('GridFieldDataColumns');
$dataColumns->setDisplayFields(array(
'Name'=>'Name',
'Image' => 'Image',
));
$fields->addFieldToTab('Root.Staff', $gridfield);
//Configures the editor for adding and removing Departments.
$gridFieldConfig2 =$gridFieldConfig = GridFieldConfig_RecordEditor::create();
$gridfield2 = new GridField("Departments", "Department", $this->Departments(), $gridFieldConfig2);
$dataColumns2 = $gridfield2->getConfig()->getComponentByType('GridFieldDataColumns');
$dataColumns2->setDisplayFields(array(
'Name'=>'Name',
));
$fields->addFieldToTab('Root.Departments', $gridfield2);
return $fields;
}
}
class StaffPage_Controller extends Page_Controller {
}
<?php
class StaffMember extends DataObject {
static $db = array(
'Name'=>'Varchar',
'Details'=>'HTMLText'
);
static $has_one = array(
'Image' => 'Image',
'Department' => 'Department',
"Parent" => "StaffPage"
);
static $summary_fields = array(
'Name',
'Thumbnail',
'Department.Name'
);
function getThumbnail() {
return $this->Image()->CMSThumbnail();
}
function getCMSFields() {
$fields = parent::getCMSFields();
$fields->removeByName('ParentID');
return $fields;
}
}
StaffMember seems to show the Name and Image summary fields, in that order, no matter what I put there, which suggests to me that it's ignoring my choice entirely.
Any ideas? Much appreciated...