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.

We're retiring the forums!

The SilverStripe forums have passed their heyday. They'll stick around, but will be read only. We'd encourage you to get involved in the community via the following channels instead:

Archive /

Our old forums are still available as a read-only archive.

Moderators: martimiz, Sean, Ed, biapar, Willr, Ingo

like tutorial 5, but with members


Go to End


1232 Views

Avatar
lekoala

Community Member, 31 Posts

30 April 2008 at 12:32am

Hi all,

I'm trying to do something similar to tutorial 5 but with members instead of students. The idea is to have an activitypage to which members can subscribe.

The code so far looks like this :

***

class ActivityPage extends Page {
static $db = array(
'Date' => 'Date',
'HeureDebut' => 'Time',
'HeureFin' => 'Time',
'Lieu' => 'HTMLText',
'Titre' => 'Varchar'
);
static $has_one = array(
'Photo' => 'Image'
);
static $has_many = array(
'Participants' => 'Member'
);
static $defaults = array(
'ShowInMenus' => false
);

function getCMSFields() {
$fields = parent::getCMSFields();

$fields->addFieldToTab("Root.Content.Images", new ImageField('Photo'));

$fields->addFieldToTab( 'Root.Content.Main', new CalendarDateField( 'Date' ) );
$fields->addFieldToTab( 'Root.Content.Main', new TimeField( 'HeureDebut' ) );
$fields->addFieldToTab( 'Root.Content.Main', new TimeField( 'HeureFin' ) );
$fields->addFieldToTab( 'Root.Content.Main', new TextField( 'Lieu' ) );
$fields->addFieldToTab( 'Root.Content.Main', new TextField( 'Titre' ) );

$tablefield = new HasManyComplexTableField(
$this,
'Participants',
'Member',
array(
'FirstName' => 'Prénom',
'Surname' => 'Nom',
),
'getCMSFields_forPopup'
);
$tablefield->setAddTitle( 'Member' );

$fields->addFieldToTab( 'Root.Content.Participants', $tablefield );

return $fields;
}

}

***

which is basically the same code that the one in the tutorial except that I have changed Students to Participants (the name) and Student to Member (the type)

But... it crashes.

FATAL ERROR: Missing argument 1 for DataObject::get(), called in E:\www\xemecercle\silverstripe\sapphire\core\ViewableData.php on line 99 and defined
At line 1431 in E:\www\xemecercle\silverstripe\sapphire\core\model\DataObject.php

Which argument for DataObject is missing ? Any hint is welcome!