多年后再次拾起它。我不能在 cms 弹出组件中使用 gridfield 吗?这里我有 Ingredient 实体,我想将数据库中的 Ingredients 添加到 Recipe 实体。即使是一个简单的也不会出现。
食谱.php
...
private static $db = [
'Title' => 'Varchar',
'Description' => 'Text',
];
private static $has_one = [];
private static $many_many = [
'Ingredients' => Ingredient::class,
];
public function getCMSFields_forPopup()
{
$gridConfig = GridFieldConfig_RelationEditor::create()->addComponents(
new GridFieldDeleteAction('unlinkrelation')
);
$grid = GridField::create(
'Ingredients',
'Ingredients',
$this->Ingredients(),
$gridConfig,
);
$fields = FieldList::create(
TextField::create('Title'),
TextareaField::create('Description'),
$grid
);
// or maybe something like..
// $fields->addFieldToTab('Main', 'Ingredients', 'Ingredients', $grid);
return $fields;
}
繁华开满天机