Как добавить кастомную конфигурацию сайта в silverstipe? - PullRequest
0 голосов
/ 09 июля 2020

Я работаю над созданием модуля с silverstripe, и я хотел сохранить некоторую настраиваемую конфигурацию для моего модуля в db. Я просмотрел документацию, и вот что я пытаюсь сделать:

Посмотрев документацию 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 /? Flu sh. Будет ли он создавать новую таблицу для конфигурации моего сайта, если да, будет ли в ней только одно поле с именем FooterContent? Я не уверен, где я могу прочитать об этом больше в документации, чтобы понять это, прежде чем запускать его, если он вносит изменения в мою базу данных, хотел бы быть уверен.

1 Ответ

1 голос
/ 09 июля 2020

DataExtensions добавляет столбцы в существующую таблицу (кстати, подклассы создают новые таблицы, но здесь это не применимо).

С Silverstripe вам не нужно слишком много думать о базе данных; это управляется за вас через ORM.

Рекомендуемое чтение:

Последняя ссылка конкретно относится к вашему варианту использования

...