【发布时间】:2017-10-19 08:29:37
【问题描述】:
我正在尝试在 Silverstripe CMS 中创建一个新菜单项。我还是不明白。我不知道我做错了什么。这是关于 Silverstripe 3.6 的。
我还尝试了“/dev/build”和“dev/build?flush=1”。但没有结果。
Footerinfos.php (mysite/code/)
class FooterInfos extends ModelAdmin {
public static $managed_models = array('FooterInfo');
static $url_segment = 'footerinfo';
static $menu_icon = 'framework/admin/images/menu-icons/network.png';
static $menu_title = 'Footer';
}
Footerinfo.php (mysite/code/)
class FooterInfo extends DataExtension {
static $db = array(
'FooterHead1' => 'Varchar(255)',
'FooterHead2' => 'Varchar(255)',
'FooterHead3' => 'Varchar(255)',
'FooterText1' => 'HTMLText',
'FooterText2' => 'HTMLText',
'FooterText3' => 'HTMLText',
);
function getCMSFields() {
$fields = parent::getCMSFields();
$fields->addFieldToTab('Root', new TabSet('Footer'));
$fields->addFieldToTab('Root.Footer', new TextField('FooterHead1', 'Footer - Kop 1'));
$fields->addFieldToTab('Root.Footer', $h1=new HTMLEditorField('FooterText1', 'Footer - Tekst 1'));
$fields->addFieldToTab('Root.Footer', new TextField('FooterHead2', 'Footer - Kop 2'));
$fields->addFieldToTab('Root.Footer', $h2=new HTMLEditorField('FooterText2', 'Footer - Tekst 2'));
$fields->addFieldToTab('Root.Footer', new TextField('FooterHead3', 'Footer - Kop 3'));
$fields->addFieldToTab('Root.Footer', $h3=new HTMLEditorField('FooterText3', 'Footer - Tekst 3'));
$h1->setRows(7);
$h2->setRows(7);
$h3->setRows(7);
return $fields;
}
}
更新 14:53u:
现在可以创建菜单项。 只有我想知道这些字段是否立即可见,而不是选择菜单。因此,与设置菜单一样,字段将立即显示。
我不能马上看到田野。只有一个 ID 列表。如果单击该 ID,您将只能看到这些字段。那不是本意。它必须马上是所有的领域。因为没有超过 1 个页脚。
我已将代码稍微翻译成我的语言;)
Voettekst.php
class VoetTekst extends DataObject {
static $db = array(
'VoetKop1' => 'Varchar(255)',
'VoetKop2' => 'Varchar(255)',
'VoetKop3' => 'Varchar(255)',
'VoetTekst1' => 'HTMLText',
'VoetTekst2' => 'HTMLText',
'VoetTekst3' => 'HTMLText',
);
public function getCMSFields() {
return FieldList::create(
TextField::create('VoetKop1', 'Footer - Kop 1'),
HTMLEditorField::create('VoetTekst1', 'Footer - Tekst 1')->setRows(7),
TextField::create('VoetKop2', 'Footer - Kop 2'),
HTMLEditorField::create('VoetTekst2', 'Footer - Tekst 2')->setRows(7),
TextField::create('VoetKop3', 'Footer - Kop 3'),
HTMLEditorField::create('VoetTekst3', 'Footer - Tekst 3')->setRows(7)
);
}
}
VoettekstAdmin.php
class VoettekstAdmin extends ModelAdmin {
private static $managed_models = array('Voettekst');
private static $url_segment = 'voettekst';
private static $menu_icon = 'framework/admin/images/menu-icons/16x16/network.png';
private static $menu_title = 'Voettekst';
}
截图:
【问题讨论】:
标签: content-management-system silverstripe