sortablegridfield/docs/HasManyExample.md

59 lines
1.2 KiB
Markdown
Raw Normal View History

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