sortablegridfield/docs/ManyManyExample.md

51 lines
1.1 KiB
Markdown
Raw Normal View History

2012-07-10 17:01:35 +02:00
many_many Example
=================
2012-10-10 15:40:53 +02:00
```php
/*** TestPage.php ***/
use SilverStripe\Forms\GridField\GridField;
use SilverStripe\Forms\GridField\GridFieldConfig_RelationEditor;
use UndefinedOffset\SortableGridField\Forms\GridFieldSortableRows;
2012-10-10 15:40:53 +02:00
class TestPage extends Page {
private static $many_many=array(
2012-10-10 15:40:53 +02:00
'TestObjects'=>'TestObject'
);
private static $many_many_extraFields=array(
2012-10-10 15:40:53 +02:00
'TestObjects'=>array(
'SortOrder'=>'Int'
)
);
2012-10-10 15:40:53 +02:00
public function getCMSFields() {
$fields=parent::getCMSFields();
2012-10-10 15:40:53 +02:00
$conf=GridFieldConfig_RelationEditor::create(10);
$conf->addComponent(new GridFieldSortableRows('SortOrder'));
2012-10-10 15:40:53 +02:00
$fields->addFieldToTab('Root.TestObjects', new GridField('TestObjects', 'TestObjects', $this->TestObjects(), $conf));
2012-10-10 15:40:53 +02:00
return $fields;
}
2012-10-10 15:40:53 +02:00
public function TestObjects() {
return $this->getManyManyComponents('TestObjects')->sort('SortOrder');
2012-07-10 17:00:06 +02:00
}
2012-10-10 15:40:53 +02:00
}
2012-07-10 17:00:06 +02:00
2012-10-10 15:40:53 +02:00
/*** TestObject.php ***/
use SilverStripe\ORM\DataObject;
2012-10-10 15:40:53 +02:00
class TestObject extends DataObject {
private static $db=array(
2012-10-10 15:40:53 +02:00
'Title'=>'Text'
);
private static $belongs_many_many=array(
2012-10-10 15:40:53 +02:00
'TestPages'=>'TestPage'
);
}
```