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.

Archive

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

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

like tutorial 5, but with members


Reply

1028 Views

Avatar
lekoala

30 April 2008 at 12:32am Community Member, 30 Posts

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!