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


1031 Views

Avatar
lekoala

Community Member, 30 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!