我必须遗漏一些简单的东西......我正在使用这里的文档: http://api.silverstripe.org/en/master/class-SilverStripe.Forms.TreeDropdownField .html 我认为我正确地做了这个,但是得到了错误:SourceObject必须是一个DataObject子类 p>
这是我的代码 p>
<?php
use SilverStripe \ CMS \ Model \ SiteTree;
use SilverStripe \ Forms \ TreeDropdownField;
use SilverStripe \ Forms \ TextField;
use SilverStripe \ Forms \ TextareaField;
class HomePage extends Page {
private static $ db = array(
'CTA'=>'Varchar(255)',
'LinkText'=>'varchar(50)'
);
private static $ has_one = array (
'PageLink'=>'SiteTree'
);
公共函数getCMSFields(){
$ fields = parent :: getCMSFields();
$ fields-> addFieldTo Tab('Root.Main',TextareaField :: create('CTA','Call To Action Text'),'Content');
$ fields-> addFieldToTab('Root.Main',TreeDropdownField :: create( 'PageLinkID','此号召性用语链接到哪个页面?','SiteTree'),'内容');
$ fields-> addFieldToTab('Root.Main',TextField :: create(' PageLinkText','号召性用语链接文字(例如:“了解详情”)'),'内容');
$ fields-> removeByName('Content');
返回$ fields;
}
}
code> pre>
div>