2012-07-10 17:01:35 +02:00
|
|
|
has_many Example
|
|
|
|
=================
|
2017-11-29 15:05:37 +01:00
|
|
|
|
2012-10-10 15:40:53 +02:00
|
|
|
```php
|
2020-05-30 03:16:11 +02:00
|
|
|
|
2012-10-10 15:40:53 +02:00
|
|
|
/*** TestPage.php ***/
|
2017-09-11 16:37:22 +02:00
|
|
|
use SilverStripe\Forms\GridField\GridField;
|
2020-05-30 03:16:11 +02:00
|
|
|
use SilverStripe\Forms\GridField\GridFieldConfig_RelationEditor;
|
2017-09-11 16:37:22 +02:00
|
|
|
use UndefinedOffset\SortableGridField\Forms\GridFieldSortableRows;
|
|
|
|
|
2017-11-29 15:05:37 +01:00
|
|
|
class TestPage extends Page
|
|
|
|
{
|
2020-05-30 03:16:11 +02:00
|
|
|
private static $has_many = [
|
|
|
|
'TestObjects' => 'TestObject',
|
|
|
|
];
|
2017-09-11 16:37:22 +02:00
|
|
|
|
2020-05-30 03:16:11 +02:00
|
|
|
public function getCMSFields()
|
|
|
|
{
|
|
|
|
$fields = parent::getCMSFields();
|
|
|
|
|
|
|
|
$conf = GridFieldConfig_RelationEditor::create(10);
|
|
|
|
$conf->addComponent(new GridFieldSortableRows('SortOrder'));
|
|
|
|
|
|
|
|
$fields->addFieldToTab(
|
|
|
|
'Root.TestObjects',
|
|
|
|
GridField::create(
|
|
|
|
'TestObjects',
|
|
|
|
'TestObjects',
|
|
|
|
$this->TestObjects(),
|
|
|
|
$conf
|
|
|
|
)
|
|
|
|
);
|
|
|
|
|
|
|
|
return $fields;
|
|
|
|
}
|
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 ***/
|
2017-09-11 16:37:22 +02:00
|
|
|
use SilverStripe\ORM\DataObject;
|
|
|
|
|
2017-11-29 15:05:37 +01:00
|
|
|
class TestObject extends DataObject
|
|
|
|
{
|
2020-05-30 03:16:11 +02:00
|
|
|
private static $db = [
|
|
|
|
'Title' => 'Text',
|
|
|
|
'SortOrder' => 'Int',
|
|
|
|
];
|
2017-09-11 16:37:22 +02:00
|
|
|
|
2020-05-30 03:16:11 +02:00
|
|
|
private static $indexes = [
|
|
|
|
'SortOrder' => true,
|
|
|
|
];
|
2017-11-29 15:05:37 +01:00
|
|
|
private static $has_one = [
|
|
|
|
'Parent' => 'TestPage',
|
|
|
|
];
|
2017-09-11 16:37:22 +02:00
|
|
|
|
2020-05-30 03:16:11 +02:00
|
|
|
private static $default_sort = 'SortOrder';
|
2012-10-10 15:40:53 +02:00
|
|
|
}
|
2017-09-11 16:37:22 +02:00
|
|
|
```
|