无法将自定义站点配置添加到 Silverstripe 4
Unable to add custom site config to Silverstripe 4
我在关注 original docs,但 /dev/build
没有生成数据库字段,也没有生成表单字段。
这是我的价值 app/_config/app.yml
---
Name: myproject
---
SilverStripe\Core\Manifest\ModuleManifest:
project: app
---
Silverstripe\SiteConfig\SiteConfig:
extensions:
- CustomSiteConfig
---
SilverStripe\Admin\LeftAndMain:
extra_requirements_css:
- public/resources/admin/css/custom.css
这是我的 app/src/extensions/CustomSiteConfig.php
<?php
use SilverStripe\Forms\FieldList;
use SilverStripe\Forms\HTMLEditor\HTMLEditorField;
use SilverStripe\ORM\DataExtension;
class CustomSiteConfig extends DataExtension
{
private static $db = [
'FooterContent' => 'HTMLText'
];
public function updateCMSFields(FieldList $fields)
{
$fields->addFieldToTab("Root.Main",
new HTMLEditorField("FooterContent", "Footer Content")
);
}
}
Silverstripe 对我来说是新的,也许我在这里遗漏了一些东西。但我现在正在寻找一个小时,但无法正常工作。
我认为问题在于您构建 YAML 的方式:
---
Name: myproject
---
SilverStripe\Core\Manifest\ModuleManifest:
project: app
---
Silverstripe\SiteConfig\SiteConfig:
extensions:
- CustomSiteConfig
---
SilverStripe\Admin\LeftAndMain:
extra_requirements_css:
- public/resources/admin/css/custom.css
---
块标记配置的每个部分的标题块,因此您在带有 Name: myproject
的部分之后使用的分隔符会创建更多标题块,而不会不再被视为配置。
试试这个:
---
Name: myproject
---
SilverStripe\Core\Manifest\ModuleManifest:
project: app
Silverstripe\SiteConfig\SiteConfig:
extensions:
- CustomSiteConfig
SilverStripe\Admin\LeftAndMain:
extra_requirements_css:
- public/resources/admin/css/custom.css
我在关注 original docs,但 /dev/build
没有生成数据库字段,也没有生成表单字段。
这是我的价值 app/_config/app.yml
---
Name: myproject
---
SilverStripe\Core\Manifest\ModuleManifest:
project: app
---
Silverstripe\SiteConfig\SiteConfig:
extensions:
- CustomSiteConfig
---
SilverStripe\Admin\LeftAndMain:
extra_requirements_css:
- public/resources/admin/css/custom.css
这是我的 app/src/extensions/CustomSiteConfig.php
<?php
use SilverStripe\Forms\FieldList;
use SilverStripe\Forms\HTMLEditor\HTMLEditorField;
use SilverStripe\ORM\DataExtension;
class CustomSiteConfig extends DataExtension
{
private static $db = [
'FooterContent' => 'HTMLText'
];
public function updateCMSFields(FieldList $fields)
{
$fields->addFieldToTab("Root.Main",
new HTMLEditorField("FooterContent", "Footer Content")
);
}
}
Silverstripe 对我来说是新的,也许我在这里遗漏了一些东西。但我现在正在寻找一个小时,但无法正常工作。
我认为问题在于您构建 YAML 的方式:
---
Name: myproject
---
SilverStripe\Core\Manifest\ModuleManifest:
project: app
---
Silverstripe\SiteConfig\SiteConfig:
extensions:
- CustomSiteConfig
---
SilverStripe\Admin\LeftAndMain:
extra_requirements_css:
- public/resources/admin/css/custom.css
---
块标记配置的每个部分的标题块,因此您在带有 Name: myproject
的部分之后使用的分隔符会创建更多标题块,而不会不再被视为配置。
试试这个:
---
Name: myproject
---
SilverStripe\Core\Manifest\ModuleManifest:
project: app
Silverstripe\SiteConfig\SiteConfig:
extensions:
- CustomSiteConfig
SilverStripe\Admin\LeftAndMain:
extra_requirements_css:
- public/resources/admin/css/custom.css