admin 发表于 2020-7-10 14:38:29

Discuz!调用分类信息自定义字段




Discuz的分类信息功能可以说很强大了,是在论坛版块的基本上进行扩展,可以添加很多自定义字段,而且可以设计帖子页,列表页,发贴页的模板风格。数据调用方式也和论坛版块一样。但是,DZ目前只支持调用以下内容:
语法      语句
数据ID      {id}
帖子URL      {url}
帖子标题      {title}
附件图片      {pic}
帖子内容      {summary}
楼主      {author}
楼主UID      {authorid}
楼主头像      {avatar}
楼主头像(中)      {avatar_middle}
楼主头像(大)      {avatar_big}
帖子图标      {icon}
版块URL      {forumurl}
版块名称      {forumname}
主题分类名称      {typename}
主题分类图标      {typeicon}
主题分类URL      {typeurl}
分类信息名称      {sortname}
分类信息URL      {sorturl}
总发帖数      {posts}
今日发帖数      {todayposts}
最后回复时间      {lastpost}
发帖时间      {dateline}
回复数      {replies}
总浏览数      {views}
热度值      {heats}
推荐数      {recommends}
更多链接      {moreurl}
当前数据顺序      {currentorder}
当前数据是否在奇数行      {parity}
默认循环显示内容      ...
替代对应loop中指定数据内容,为奇数行,为偶数行      ...
特殊指定数据显示内容      ...
可设置打开方式的链接      <a href="{url}"{target}>{title}</a>
可设置缩略图大小的图片      <img src="{pic}" width="{picwidth}" height="{picheight}" /> 一般最常用的调用帖子主题,URL,图片,详细等。

那自己设计好的分类字段怎么调用呢?如,房屋信息:


默认情况下,上图的居室,面积,价格与区域是调用不出来的。

以调用二手房信息为例,实现调用的方法如下:
1、在后台-门户-模块管理-数据调用添加一个调用,名为“房产网首页_出租房房源_列表”,注意这个参数“只接受推送数据”,如果勾选了,那么数据只来源于手工推送,推送目标注意一定要在指定的论坛版块。



上图里的是模块模板,调用帖子里的编号,标题,URL,然后用|@@|区分每个帖子,用@@区分每个帖子里的编号,标题,URL

2、数据调用设计好后,就要写php代码,读取帖子信息,然后进行加工处理。代码如下:
//调用DZ二手房
$fl_1 = file_get_contents('http://www.cnit618.com/api.php?mod=js&bid=102');
$fl_1 = str_replace("document.write('","",$fl_1);
$fl_1 = str_replace("');","",$fl_1);
$tmplist=explode("|@@|",$fl_1);
$tmpstr1="";
for($i=1;$i<count($tmplist);$i++)
{
$tmplist1=explode("@@",$tmplist[$i]);
$tmpstr1 = $tmpstr1.getlist1($tmplist1,$tmplist1,$tmplist1,$i);
}
function getlist1($id,$title,$url,$n)
{
mysql_select_db("dz");
$exec="select fang_shi,fang_ding,fang_wei,fang_mianji,gq_money,fang_quyu from dz_forum_optionvalue60 where tid =" . $id;
$result=mysql_query($exec);

if($rs=mysql_fetch_object($result))
{
if($rs->fang_quyu=="1")$quyu="老城区";
if($rs->fang_quyu=="2")$quyu="城东";
if($rs->fang_quyu=="3")$quyu="城南";
if($rs->fang_quyu=="4")$quyu="城西";
if($rs->fang_quyu=="5")$quyu="花湖";
if($rs->fang_quyu=="6")$quyu="华容区";
if($rs->fang_quyu=="7")$quyu="梁子湖区";

if($n%2==1)$style=""; else $style="mkt-libg";
return "<LI class=".$style."><SPAN class=wida><A title=".$title." href=".$url." target=_blank>".$title."</A></SPAN><SPAN class=\"mktc widb\">".$rs->fang_shi."室".$rs->fang_ting."厅".$rs->fang_wei."卫</SPAN><SPAN>".$rs->fang_mianji."平方</SPAN> <SPAN>".$rs->gq_money."万</SPAN> <SPAN>".$quyu."</SPAN> </LI>";
}
}

3、在模板里调用变量
<DIV class=area-zhsl>
<DIV class=hs-main-title>
<H4>二手房房源</H4><A href="#"
target=_blank>更多>></A></DIV>
<DIV class=zhsl-ul>
<UL>
<!--{block/99}-->
</UL></DIV>
<DIV class=mkt-col>
<UL>
<LI class=wida>名称 </LI>
<LI class=widb>居室 </LI>
<LI>面积 </LI>
<LI>价格 </LI>
<LI>区域 </LI></UL></DIV>
<DIV class=mkt-col-list>
<UL>
{$tmpstr1}</UL></DIV></DIV>

页: [1]
查看完整版本: Discuz!调用分类信息自定义字段

创宇盾启航版免费网站防御网站加速服务