去评论
dz插件网

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

admin
2020/07/10 14:38:29


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]...[/loop]
替代对应loop中指定数据内容,[order=odd]为奇数行,[order=even]为偶数行        [order=N]...[/order]
特殊指定数据显示内容        [index=N]...[/index]
可设置打开方式的链接        <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[0],$tmplist1[1],$tmplist1[2],$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>