吾爱尚玩资源基地

标题: Discuz群组推送和群组,版块关联 [打印本页]

作者: admin    时间: 2017-3-8 00:21
标题: Discuz群组推送和群组,版块关联
Discuz群组推送和群组,版块关联



简单介绍一下两者的原理:

1.群组推送
(, 下载次数: 0)

在群组管理中,对群组中的帖子管理员可以进行推送到版块的操作。

推送后会在相应的版块看到所推送的帖子
(, 下载次数: 0)

主题的tid与在群组中主题的tid相同。

这与关联的群组中显示的帖子有区别吗?答案当然是有!
我们来看看群组推送都执行了什么操作:

推送的几步重要操作在topicadmin_moderate.php的567行附近:

上面的代码将群组的主题数据添加(可以说是复制一份)到forum_thread表里,注意仅仅是插入到forum_thread表里,并没有在forum_post表里有数据。这意味着什么呢,意味着实际这个主题是不存在的。

特别留意一下这两步操作,取插入数据的id,将插入的id更新到原群组主题的数据的closed字段中,这时候明白closed字段的含义了吗?是的,就是表示该主题绑定的主题的id(之前添加的主题的closed字段也做了对应的更新)。

在forumdisplay_list.htm模板里被推送的数据是这样操作的:

用推送的主题的实际tid替代显示的tid。
这里有一点需要注意,因为这个列表页显示的主题并不会随原主题信息的改变而改变,而是保持推荐时的状态不会改变,除了群组里的原主题被删除。

2.关联版块
关联版块的功能比较简单,首先在后台--论坛--版块--选定一个版块--扩展设置中设置所要关联的版块
(, 下载次数: 0)



提交后数据会保存到forum_forumfield表中的relategroup字段中。
在读取主题列表forum_forumdisplay.php中读取的当前版块所关联的版块\群组的代码如下:

在主题列表页就可以显示所有关联的版块的主题了(显示,但不可修改)。

这两者都可以在版块的主题列表页显示群组的主题,但有所区别,推送会创建一个空主题并将其与原主题绑定,而关联版块是直接取其关联版块的数据。因此,推送的主题数据在列表页不会直接更新,而关联版块的主题数据会随着所关联的版块内数据的变化而变化。

特别注意一下,如果同时关联版块并推送某一主题,则在列表页会出现相同的主题,而如果有一个版块关联该版块,会显示从群组推送过来的数据。

例如:群组:主题1(推送到版块1)
          版块1(关联群组):主题1(关联主题,不可修改),主题1(推送主题,可删除)
          版块2(关联版块1):主题1(关联主题,关联的是版块1的推送主题,不可修改)





欢迎光临 吾爱尚玩资源基地 (http://bbs.523play.com/) Powered by Discuz! X3.4