问:
Discuz模板中如何判断当前版块是否被收藏?给出具体代码即可
答:
在Discuz模板中,可以使用以下代码判断版块是否被当前用户收藏:
<!--{if $_G['uid']}-->
<!--{if helper_access::check_module('favorite')}-->
<!--{eval $favforum = C::t('home_favorite')->fetch_by_id_idtype($_G['fid'], 'fid', $_G['uid'], 'forum');}-->
<!--{if !empty($favforum)}-->
<!-- 版块已被当前用户收藏 -->
<!--{else}-->
<!-- 版块未被当前用户收藏 -->
<!--{/if}-->
<!--{/if}-->
<!--{else}-->
<!-- 未登录用户无法判断收藏状态 -->
<!--{/if}-->
已上为代码
解释一下上述代码:
首先判断当前用户是否已登录($_G['uid']表示当前用户的UID,如果是0则表示未登录),未登录则不需要进行收藏状态的判断。 使用helper_access::check_module('favorite')判断当前用户是否有收藏版块的权限,如果没有权限,则无法进行收藏状态的判断。 使用C::t('home_favorite')->fetch_by_id_idtype($_G['fid'], 'fid', $_G['uid'], 'forum')查询当前用户是否已收藏该版块,如果查询结果不为空,则表示已收藏,否则表示未收藏。
根据查询结果进行相应的处理。
需要注意的是,上述代码只是一个参考示例,具体的应用场景可能会有所不同,需要根据实际情况进行调整。
用:
在formdisplay.htm对应位置使用即可,效果如下:
|