首页 > 解决方案 > 在 Silverstripe 上扩展博客模块

问题描述

我即将扩展 Silverstripe 模块。但我无法弄清楚我的简单代码中缺少什么。

我需要一些建议来解决缺少的问题。

namespace {

    use SilverStripe\ORM\DataExtension;
    use SilverStripe\Forms\FieldList;
    use SilverStripe\Forms\TextField;

    class BlogPostExtension extends DataExtension {

        private static $db = [
            'Title' => 'Varchar'
        ];

        public function updateCMSFields(FieldList $fields) {
            // Add fields here

            $fields->addFieldToTab("Root.Gallery", new TextField("Title","Title"));

        }

    }

}

这是我在 app.yml 上添加的内容。我也在做/dev/build?flush=all。但仍然没有任何效果。

SilverStripe\Blog\BlogPost:
  extensions:
    - Project\Extensions\BlogPostExtension

标签: phpsilverstripesilverstripe-4

解决方案


正如 wmk 指出的那样 - 标题已经是 FieldList 中字段的一部分。如果将字段重命名为其他名称。例如“GalleryTitle”并运行 dev/build 您应该会取得更大的成功。

——彼得


推荐阅读