【问题标题】:How to add custom site config to silverstipe?如何将自定义站点配置添加到 silverstripe?
【发布时间】:2020-07-09 07:33:47
【问题描述】:

我正在使用 silverstripe 构建一个模块,我想在数据库中为我的模块存储一些自定义配置。我浏览了文档,这就是我正在尝试的:

通过查看 silverstripe 文档:

<?php
namespace Poptin\Silverstripe;

use SilverStripe\Forms\FieldList;
use SilverStripe\Forms\HTMLEditor\HTMLEditorField;
use SilverStripe\ORM\DataExtension;

class PoptinSiteConfig extends DataExtension 
{
    
    private static $db = [
        'FooterContent' => 'HTMLText'
    ];

    public function updateCMSFields(FieldList $fields) 
    {
        $fields->addFieldToTab("Root.Main", 
            new HTMLEditorField("FooterContent", "Footer Content")
        );
    }
}

在配置文件中:

Silverstripe\SiteConfig\SiteConfig:
    extensions:
        - \Poptin\SilverStripe\PoptinSiteConfig

但我不确定当我运行 /dev/build/?flush 时会发生什么。它是否会为我的站点配置创建一个新表,如果是,它是否只有一个名为 FooterContent 的字段?我不确定,在我运行它之前,我在哪里可以阅读文档中有关此内容的更多信息以了解这一点,以防它对我的数据库进行更改,我想确定一下。

【问题讨论】:

    标签: php silverstripe silverstripe-4


    【解决方案1】:

    DataExtensions 将列添加到现有表(仅供参考,子类创建新表,但这不适用于此处)。

    使用 Silverstripe,您不必过多考虑数据库;它是通过 ORM 为您管理的。

    推荐阅读:

    最后一个链接专门针对您的用例

    【讨论】:

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