我想在CMS中的滑块上添加小图片。目前我在这里的工作对我有用,我有一个大图像:
AwesomeClass
现在我想添加另一个字段。我添加了class Banner extends SortableObject {
private static $db = array(
);
private static $has_one = array(
'HomePage' => 'HomePage',
'Image' => 'Image',
'Target' => 'Page',
);
private static $summary_fields = array(
'ID',
'Target.MenuTitle',
);
public function getCMSFields() {
$fields = new FieldList();
$img = new UploadField('Image');
$img->setFolderName('hpbanners');
$img->getValidator()->setAllowedExtensions(array('jpg','gif','png'));
$fields->push($img);
$drop = new TreeDropdownField('TargetID','Choose page','SiteTree');
$fields->push($drop);
return $fields;
}
}
,据我所知,这应该在DB中添加新列,就像之前的Image一样,但我的问题是在DB表中我只有第一个图像,第二个没有添加:
$smallImage
所以请告诉我,因为我知道这个专栏会自动添加,我应该清除缓存还是我做错了什么?帮我! :)
答案 0 :(得分:1)
关系始终采用'YourRelationName' => 'Type'
的形式。因此,您的$has_one
关系定义应为:
private static $has_one = array(
'HomePage' => 'HomePage',
'Image' => 'Image',
'SmallImage' => 'Image', // Use type 'Image', not 'SmallImage'
'Target' => 'Page',
);