马上注册,免费下载更多dz插件网资源。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
首先,我们在做这个修改方案之前,应该先找到入口,也就是得先找到主题内容页的模板文件是从哪里载入进来的。
在模板中。viewthread.htm为主题内容页模板。那么入口的载入点则是其中的- <div id="post_$post[pid]" {if $_G['blockedpids'] && $post['inblacklist']}style="display:none;"{/if}> <!--{subtemplate forum/viewthread_node}--> </div>
复制代码
既然是做其他模板,那么最简单直接的方法就是用if判断。只要模板是有依可查。
比如,我们以版块为例,我们知道版块的唯一标识名为“fid”,那么我们就可以利用if来判断当前板块是否符合我们想要的结果。
即:- <!--{if $_G['fid'] == 45}--> <div id="post_$post[pid]" {if $_G['blockedpids'] && $post['inblacklist']}style="display:none;"{/if}> <!--{subtemplate forum/1}--> </div> <!--{else}--> <div id="post_$post[pid]" {if $_G['blockedpids'] && $post['inblacklist']}style="display:none;"{/if}> <!--{subtemplate forum/2}--> </div> <!--{/if}-->
复制代码 这是一个很简单的判断,当版块的fid为45的时候,加载模板1,否则加载模板2。
我们可以根据这个简单的判断来演变出各种我们所需的判断,比如- <!--{if $thread['sortid'] == 8 && $_G['fid'] == 45}-->
复制代码 表示当分类信息ID(sortid,这个在pre_forum_thread中有,所以我们在这里直接用discuz自带的局部变量就可以)等于8,并且只有在版块ID(fid)为45的版块。
注意: && 表示2个条件同时满足的情况下。|| 表示或者其中一个
简单的来总结一下,其实很简单,因为我们是在viewthread.htm中做判断,那么在数据表中的pre_forum_thread、pre_forum_post,中的字段,都可以拿来做我们的判断依据。并且我们可以直接使用$thread["***"]或者$post["***"]。不需要我们再自定义变量。
这样,我们就可以随心所欲的根据自己的需求来修改版块的模板了。
©DZ插件网所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。 网站部分内容来源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,得到更好的正版服务。 您在本站任何的赞助购买、下载、查阅、回复等行为等均表示接受并同意签订《DZ插件网免责声明协议》。 如有侵权请邮件与我们联系处理: discuzaddons@vip.qq.com 并出示相关证明以便删除。敬请谅解!
|
|