Я пытаюсь использовать компонент GridField впервые.Я добавил кнопку «Добавить», используя GridFieldConfig_RecordEditor, следующим образом:
class AdvertisersPage extends Page
{
//...
public function getCMSFields()
{
$fields = parent::getCMSFields();
$advertiserAccounts = AdvertiserAccount::get();
$fields->addFieldToTab('Root.Advertisers',
$gridField = new GridField(
'Advertisers',
'All advertisers',
$this->Advertisers(),
GridFieldConfig_RecordEditor::create()
)
);
return $fields;
}
}
Но кнопка ничего не делает, кроме изменения URL-адреса в браузере с
admin /страницы / редактировать / показывать / 7
до
admin / pages / edit / EditForm / 7 / поле / рекламодатели / элемент / новый
Вот соответствующий класс DataObject:
class AdvertiserAccount extends DataObject
{
//...
private static $has_one = [
'AdvertisersPage' => AdvertisersPage::class,
];
public function getCMSFields()
{
$fields = FieldList::create(
TextField::create('contactNumber'),
TextField::create('nickname')
);
return $fields;
}
}
Мне нужен ваш совет по поводу того, на что мне обратить внимание, чтобы решить проблему.