sortablegridfield/docs/ManyManyExample.md
Daniel Hensby d8c379879f Merge 1.0.x into master (#112)
* Fixed travis build failure related to phpunit/php-file-iterator

* DOCS Update docs examples to be 3.1+ relevant (#111)
2017-11-29 10:05:37 -04:00

56 lines
1.1 KiB
Markdown

many_many Example
=================
```php
/*** TestPage.php ***/
use SilverStripe\Forms\GridField\GridField;
use SilverStripe\Forms\GridField\GridFieldConfig_RelationEditor;
use UndefinedOffset\SortableGridField\Forms\GridFieldSortableRows;
class TestPage extends Page
{
private static $many_many = [
'TestObjects' => 'TestObject',
];
private static $many_many_extraFields = [
'TestObjects' => [
'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 ***/
use SilverStripe\ORM\DataObject;
class TestObject extends DataObject
{
private static $db = [
'Title' => 'Text',
];
private static $belongs_many_many = [
'TestPages' => 'TestPage',
];
}
```