背景图片 UploadField 不显示在 CMS 中
Background Image UploadField doesn't show in the CMS
在 SilverStripe CMS 网站上,我有一个自定义页脚附加代码,我想对其进行扩展,以便我可以在 CMS 中上传背景图片。代码看起来不错,但是添加的字段在CMS中找不到。
这是我的代码:
class CustomFooter extends DataExtension {
static $db = array(
'FooterContent' => 'HTMLText'
);
public static $has_one = array(
'Logo' => 'Image',
'BGImage' => 'Background Image'
);
public function getCMSFields() {
$this->extend('updateCMSFields', $fields);
return $fields;
}
public function updateCMSFields(FieldList $fields) {
$fields->addFieldToTab('Root.Footer', new HTMLEditorField('FooterContent', 'Footer Content'));
$fields->addFieldToTab('Root.Main', new UploadField('Logo', 'Company Logo'));
$fields->addFieldToTab('Root.Main', new UploadField('BGImage', 'Background image'));
}
}
奇怪的是,两个图片上传字段都没有显示“内容”选项卡显示的位置和预期的功能。
为什么 UploadField
没有显示?
你的
public static $has_one = array(
"Logo"=>"Image",
"BGImage"=>"Background Image"
);
看起来很奇怪。 $has_one
数组将关系名称作为键,将关系的 class 名称作为值,我怀疑名称中带有 space 的 class 名称是否允许。所以我会尝试
public static $has_one = array(
"Logo"=>"Image",
"BGImage"=>"Image"
);
然后 运行 一个 dev/build?flush
并在数据库中检查你的 table 是否有一个 LogoID
列和一个 BGImageID
列的关系.
字段生成看起来不错,应该可以正常工作。
在 SilverStripe CMS 网站上,我有一个自定义页脚附加代码,我想对其进行扩展,以便我可以在 CMS 中上传背景图片。代码看起来不错,但是添加的字段在CMS中找不到。
这是我的代码:
class CustomFooter extends DataExtension {
static $db = array(
'FooterContent' => 'HTMLText'
);
public static $has_one = array(
'Logo' => 'Image',
'BGImage' => 'Background Image'
);
public function getCMSFields() {
$this->extend('updateCMSFields', $fields);
return $fields;
}
public function updateCMSFields(FieldList $fields) {
$fields->addFieldToTab('Root.Footer', new HTMLEditorField('FooterContent', 'Footer Content'));
$fields->addFieldToTab('Root.Main', new UploadField('Logo', 'Company Logo'));
$fields->addFieldToTab('Root.Main', new UploadField('BGImage', 'Background image'));
}
}
奇怪的是,两个图片上传字段都没有显示“内容”选项卡显示的位置和预期的功能。
为什么 UploadField
没有显示?
你的
public static $has_one = array(
"Logo"=>"Image",
"BGImage"=>"Background Image"
);
看起来很奇怪。 $has_one
数组将关系名称作为键,将关系的 class 名称作为值,我怀疑名称中带有 space 的 class 名称是否允许。所以我会尝试
public static $has_one = array(
"Logo"=>"Image",
"BGImage"=>"Image"
);
然后 运行 一个 dev/build?flush
并在数据库中检查你的 table 是否有一个 LogoID
列和一个 BGImageID
列的关系.
字段生成看起来不错,应该可以正常工作。