如何使用相同的silverstripe新闻模块制作新闻和文章?

时间:2016-11-03 12:13:33

标签: php silverstripe

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

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

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

1 个答案:

答案 0 :(得分:1)

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

基本上,文件夹只是一个类的位置,而不是您在实际请求新闻文章时访问的内容,您使用SilverStripes路由。

静态资产将是从模块文件夹加载的内容。

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

请参阅https://docs.silverstripe.org/en/3.4/developer_guides/extending/extensions/

其他方式是该模块使用sitetree放置“新闻持有者”。然后您还可以选择创建两个具有不同名称的持有者,然后如果要显示特定父级列表,只需使用与正确持有者相关的parentId进行过滤。

第三个选项是在mysite下添加一个新类,它扩展了模块类,只覆盖了一些方法来满足你的需求。