mirror of
https://github.com/UndefinedOffset/SortableGridField.git
synced 2024-10-22 17:05:38 +02:00
53eef90c97
Updated examples to say they are written with 3.0.x in mind and public statics should be private in 3.1.x
45 lines
1.0 KiB
Markdown
45 lines
1.0 KiB
Markdown
many_many Example
|
|
=================
|
|
Please note this example is written with 3.0.x in mind, if you are using 3.1.x make sure you scope all static properties to private not public.
|
|
```php
|
|
/*** TestPage.php ***/
|
|
class TestPage extends Page {
|
|
public static $many_many=array(
|
|
'TestObjects'=>'TestObject'
|
|
);
|
|
|
|
public static $many_many_extraFields=array(
|
|
'TestObjects'=>array(
|
|
'SortOrder'=>'Int'
|
|
)
|
|
);
|
|
|
|
|
|
public function getCMSFields() {
|
|
$fields=parent::getCMSFields();
|
|
|
|
$conf=GridFieldConfig_RelationEditor::create(10);
|
|
$conf->addComponent(new GridFieldSortableRows('SortOrder'));
|
|
|
|
$fields->addFieldToTab('Root.TestObjects', new GridField('TestObjects', 'TestObjects', $this->TestObjects(), $conf));
|
|
|
|
return $fields;
|
|
}
|
|
|
|
public function TestObjects() {
|
|
return $this->getManyManyComponents('TestObjects')->sort('SortOrder');
|
|
}
|
|
}
|
|
|
|
|
|
/*** TestObject.php ***/
|
|
class TestObject extends DataObject {
|
|
public static $db=array(
|
|
'Title'=>'Text'
|
|
);
|
|
|
|
public static $belongs_many_many=array(
|
|
'TestPages'=>'TestPage'
|
|
);
|
|
}
|
|
``` |