【问题标题】:Extending Blog Module on Silverstripe在 Silverstripe 上扩展博客模块
【发布时间】:2019-03-18 09:06:33
【问题描述】:

我即将扩展 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

【问题讨论】:

  • 由于 BlogPost 是 SiteTree 的子类,它已经有一个 Title 字段。您不能向其中添加具有此名称的其他字段。尝试将其重命名为“GalleryTitle”或其他独特的名称。
  • 感谢您的回复。我已经重命名了该字段,但仍然无法正常工作。

标签: php silverstripe silverstripe-4


【解决方案1】:

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

-- 彼得

【讨论】:

  • 请注意,BlogPost 命名空间也不正确
  • 好的,我认为它已经解决了,因为 app.yml 上的命名空间不正确 SilverStripe\Blog\Model\BlogPost: extensions: - EllisCo\Extensions\BlogPostExtension
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多