这几天一直在研究关于discuz文章分类,在网上看了一些方法,有自己写的代码,也有把dz中的代码摘出来用的,但我想作为一个功能这么强大的discuz,难道分页真的就有问题吗?我一直在试图找到什么方法。
今天在研究的时候,我从网上dz应用中心,下带资讯带分页的那种免费的模板,下过代码以后,我发现带分页的代码只有那么一句:
<!--{if $list['multi']}--><div class="pgs cl">{$list['multi']}</div><!--{/if}-->
只有dz官方有一个帖子,说到,调用这么函数,在此页中要用
这样就显示分页了 但是前提你的模板里要有
<!–{eval $list = category_get_list($cat, $wheresql, $page);}–>
这句话
下面是这个
帖子的网址:
http://www.discuz.net/thread-3458276-1-1.html
我按照帖子里的思路把代码改好,不管是用diy中,还是在模板中,都不能显示出数据来。
我的代码是:
<div class="bm_c vk_xld ">
[loop]
<!--<dl class="bbda cl">-->
<dl class="bbs cl">
<div class="atc vk_list_pic"><a href="{url}" target="_blank"><img src="{pic}" width="{picwidth}" height="{picheight}" alt="{title}" class="tn" /></a></div>
<dt class="xs2"><a href="{url}" target="_blank" class="xi2" style="">{title}</a> </dt>
<dd class="xs2 cl">
{summary} ...
<p><span class="xg1">{dateline}</span></p>
</dd>
<dd>
分类: <label><a href="{sorturl}" class="xi2">{sortname}</a></label></dd>
</dl>
[/loop]
</div>
我把上面的代码帖到diy中,里面的数据部分能正常显示,但是下面的分页,虽然也提示有,但是每一页都是一样的内容,实际上就是同一页的内容。于是我把代码帖到模板中,只在要显示内容的位置显示代码变量的单词,就是上面大括号中的内容,也包括大括号,这是没有解析。问题出现在什么地方。我花了很长时间来对比。当刚刚我把官方的代码打开以后,以后这些大括号中的变量与我上面代码中所使用的表达方法不一样:而且在代码的上面一行,还有三个引用语句:
<!–{eval $list = array();}–>
<!–{eval $wheresql = category_get_wheresql($cat);}–>
<!–{eval $list = category_get_list($cat, $wheresql, $page);}–>
于是我把那三个语句加到
list模板调
用头部的后面,然后把上面的代码中的变量改为下面的表达方法:
<div class="bm_c vk_xld "> <!--{loop $list['list'] $value}--> <!--<dl class="bbda cl">--> <dl class="bbs cl"> <div class="atc vk_list_pic"><a href="$article_url" target="_blank"><img src="$value[pic]" width="$value[picwidth]" height="$value[picheight]" alt="$value[title]" class="tn" /></a></div> <dt class="xs2"><a href="$article_url" target="_blank" class="xi2" style="">$value[title]</a> </dt> <dd class="xs2 cl">
$value[summary] ... <p><span class="xg1">$value[dateline]</span></p> </dd> <dd> 分类: <label><a href="{$portalcategory[$value['catid']]['caturl']}" class="xi2">$value[catname]</a></label></dd> </dl> <!--{/loop}--> </div>
在看网页的时候正常了,而且分页也对了,原来,dz中diy中的数据变量的表达和网页中数据变量的表达方法是不一样的,这个也没有在网上找到了,在这里记录下来,也给那些有我一样困惑的同学们一点提示。