我在前端模板中收到此错误我的模板文件为空,
当我尝试addFieldToTab
时。我认为$has_many
变量存在问题。
我的代码如下:
class ProductsPage extends Page
{
private static $has_many = array (
'ProductCategories' => 'ProductCategories',
);
public function getCMSFields() {
$fields = parent::getCMSFields();
$fields->addFieldToTab('Root.Main', GridField::create(
'ProductCategories',
'Category',
$this->ProductCategories(),
GridFieldConfig_RecordEditor::create()
));
return $fields;
}
}
错误:
[User Error] Uncaught Exception:Object-> __ call():方法 ' fortemplate' ' HasManyList'上不存在,或者方法不存在 公共
PasteBin网址:https://pastebin.com/YZJn3a4t
当我删除$has_many
变量时,它完美无缺。在我的前端模板是空的。
如何修复此错误,我不明白?
答案 0 :(得分:0)
$ has_many数组值应该是单数形式,而它的键是复数形式。
使用您的示例,这应该是'Category'=> 'ProductCategories'(我从你正在使用的GridField中获得了这个)。
希望这有帮助。