【发布时间】:2014-10-01 10:35:54
【问题描述】:
使用此代码,当 CMS 页面发布时,DataObject ID (InternalExternalLinkID) 不会保存到页面中,如何自动从数据对象添加脚手架并保存关系(无需手动执行 onAfterWrite(),如在http://www.silverstripe.org/data-model-questions/show/11044):
class Page extends SiteTree {
private static $has_one = array(
'InternalExternalLink' => 'InternalExternalLink'
);
function getCMSFields() {
$fields = parent::getCMSFields();
$fields->addFieldsToTab('Root.Main', singleton('InternalExternalLink')->getCMSFields());
我知道您可能需要先创建数据对象,获取 ID,然后保存到页面对象 - CMS 可以不做这个脚手架,创建(或更新)并像 ModelAdmin 那样自动保存这个相关的数据对象吗?
【问题讨论】:
-
您是否尝试在页面编辑屏幕中显示并保存 internalExternalLink 的所有字段?
-
是的,将相关数据对象中的字段保存到相关数据对象中
标签: orm silverstripe