如何使新闻和文章使用相同的银条新闻模块


how to make news and articles using the same silverstripe news module?

我需要在我的silverstripe网站合并新闻和公告,新闻和公告都有完全相同的结构,他们都使用https://github.com/nyeholt/silverstripe-news。在html模板中,我有两个部分,一个用于新闻,另一个用于公告。

什么是正确的方法来实现这个:

  • 我是否应该复制并通过/news模块文件夹,并使用一个用于新闻,另一个用于公告。
  • 或者添加另一个db字段作为标志来指定这是一篇新闻文章还是一篇公告文章,但是在cms中,用户每次都必须检查这个。
  • 或者还有什么,我不知道

复制文件夹不会得到您期望的结果,除非您重命名新文件夹中的所有类。

基本上文件夹只是一个存放类的地方,而不是当你请求一篇新闻文章时才会访问的东西,你会使用SilverStripes路由。

静态资源是从模块文件夹中加载的。

向扩展添加新行为的最佳方法是使用DataExtension。

见https://docs.silverstripe.org/en/3.4/developer_guides/extending/extensions/

另一种方法是如果模块使用站点树放置"新闻持有人"。然后你还可以选择创建两个名称不同的持有人,如果你想显示一个特定父级的列表,只需要使用与正确持有人相关的parentId过滤器。

第三种选择是在mysite下添加一个新类,扩展模块的类并只覆盖一些方法来满足您的需求。