冬季/wn-forum-plugin

Winter CMS 的论坛插件

v2.0.2 2022-08-01 08:49 UTC

This package is auto-updated.

Last update: 2024-09-08 18:43:35 UTC


README

此插件为 Winter CMS 添加了一个简单的可嵌入论坛。

此插件的视频演示在此可见: https://vimeo.com/97088926

配置

该论坛无需立即配置即可运行。但是,以下选项可供选择。

  • 论坛类别(频道)可以通过 System > Channels 菜单进行管理。
  • 论坛成员可以通过 User 菜单进行管理。

显示频道列表

该插件包含一个名为 forumChannels 的组件,应将其用作论坛的主页。将组件添加到您的页面,并使用组件标签进行渲染

{% component 'forumChannels' %}

您应该向此组件告知其他论坛页面。

  • channelPage - 用于查看单个频道主题的页面。
  • topicPage - 用于查看讨论主题和帖子的页面。
  • memberPage - 用于查看论坛用户的页面。

RSS 源

使用 forumRssFeed 组件显示包含最新博客帖子的 RSS 源。支持以下属性

  • channelFilter - 用于过滤主题的频道 slug。如果为空,则显示所有主题。
  • topicsPerPage - 每页显示的主题数量。默认值为 20。
  • forumPage - 主论坛页面的路径。
  • topicPage - 主题详情页面的路径。

该组件可以用于任何页面,它将劫持整个页面周期以以 RSS 格式显示源。以下示例显示了如何使用它

title = "RSS Feed"
url = "/forum/rss.xml"

[forumRssFeed]
forumPage = "forum"
topicPage = "forum/topic"
==
<!-- This markup will never be displayed -->

示例页面结构

forum/home.htm

title = "Forum"
url = "/forum"
layout = "default"

[forumChannels]
memberPage = "forum/member"
channelPage = "forum/channel"
topicPage = "forum/topic"
==

<h1>Forum</h1>
{% component 'forumChannels' %}

forum/channel.htm

title = "Forum"
url = "/forum/channel/:slug"
layout = "default"

[forumChannel]
memberPage = "forum/member"
topicPage = "forum/topic"
==

<h1>{{ channel.title }}</h1>
{% component 'forumChannel' %}

forum/topic.htm

title = "Forum"
url = "/forum/topic/:slug"
layout = "default"

[forumTopic]
memberPage = "forum/member"
channelPage = "forum/channel"
==

<h1>{{ topic.subject }}</h1>
{% component 'forumTopic' %}

forum/member.htm

title = "Forum"
url = "/forum/member/:slug"
layout = "default"

[forumMember]
channelPage = "forum/channel"
topicPage = "forum/topic"
==

<h1>{{ member.username }}</h1>
{% component 'forumMember' %}