还是Silverstripe的新手。我正在尝试使用CMS,我想创建一个包含文本字段的新CMS菜单。我设法在其中添加一个带有网格字段的CMS菜单项来添加数据对象,但我需要的是在CMS菜单项中直接显示文本字段而不创建数据对象(类似于设置菜单,如下图所示)
有人可以指导我扩展的内容以及如何设置内容吗?非常感谢提前。
答案 0 :(得分:0)
您可以扩展设置部分。以下示例在设置部分下添加了一个名为社交媒体的标签,并在 FacebookURL 和 TwitterURL 中添加了2个字段。您可以将其更改为您想要的任何字段/选项卡。
** mysite的/ _config / extensions.yml
---
Name: mysiteextensions
After: 'framework/*','cms/*'
---
SiteConfig:
extensions:
- SiteConfigDecorator
<强> mysite的/代码/扩展/ SiteConfigDecorator 强>
<?php
class SiteConfigDecorator extends DataExtension {
private static $db = array(
'FacebookURL' => 'Varchar(200)',
'TwitterURL' => 'Varchar(200)'
);
private static $has_one = array(
'FooterQuoteButtonPage' => 'SiteTree'
);
public function updateCMSFields(FieldList $fields) {
$fields->addFieldToTab('Root.SocialMedia', TextField::create('FacebookURL', 'Facebook URL'));
$fields->addFieldToTab('Root.SocialMedia', TextField::create('TwitterURL', 'Twitter URL'));
}
function __construct() {
parent::__construct();
}
}
要访问模板中的这些字段,请使用 $ SiteConfig.FIELDNAME 。在这种情况下,它将是 $ SiteConfig.FacebookURL 和 $ SiteConfig.TwitterURL