【发布时间】:2018-01-03 17:39:42
【问题描述】:
我在 CMS 中创建了一个下拉字段,如下所示:
class ProductPage extends Page {
//.....
private static $has_one = [
'TeaserImage'=>Image::Class,
'LinkedProduct'=>'Product'
];
public function getCMSFields(){
$fields = parent::getCMSFields();
$productLinkField = DropdownField::create('LinkedProduct', 'Link a Product', Product::get()->map('ID', 'ProductName'));
$productLinkField->setEmptyString('(Select one)');
$fields->addFieldToTab('Root.Main', $productLinkField, 'Content');
return $fields;
}
}
问题是当我选择一个值并保存/发布页面时,下拉菜单会返回到“选择一个”而不是显示保存的选择。
我还没有检查数据库是否正在存储值,但我认为它是。
编辑:不是重复的。 建议的副本涉及从 CMS 中删除字段。 此问题涉及将下拉值设置为已保存的选择。
然而,答案是相似的。用户必须始终将 ID 附加到 has_one 字段,以便 CMS 与之交互。
【问题讨论】:
-
我需要在create语句的'LinkedProduct'中添加ID吗?
-
是的,做到了。谢谢。
-
是的,我用该信息更新了另一个问题的答案
标签: silverstripe silverstripe-4