【问题标题】:Unable to add custom site config to Silverstripe 4无法将自定义站点配置添加到 Silverstripe 4
【发布时间】:2018-07-22 20:23:28
【问题描述】:

我关注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 对我来说是新的,也许我在这里遗漏了一些东西。但我现在正在寻找一个小时,但无法让它工作。

【问题讨论】:

  • 或许你需要?flush
  • @RobbieAverill 对不起,我忘了提。我已经清除了所有缓存变体。

标签: php yaml silverstripe silverstripe-4


【解决方案1】:

我认为问题在于您构建 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多