帝国CMS结合项实现策略
  • 资讯中心
  • 行业新闻相关
  • 专家建站观点
  • 建站信息百科

帝国CMS结合项实现策略

来源: 飞云专业建站工作室发布时间:2016-03-26 13:24:57

    为了更深切的理解下帝国cms中的结合项,我们来做一个高仿58同城等类似信息分类网站的信息筛选:

    首先我们建立数据表,建立之后如下所示:

    01.jpg

    我们需要对信息的”区域“,”租金“,”厅室“,”方式“这些属性进行筛选,那么我们需要给该表增加如下字段如下:

    01.jpg

    各字段配置如下:

    区域:

    3-quyu.png

    租金:

    3-zujin.png

    厅室:

    3-tingshi.png

    方式:

    3-fangshi.png

    如此以来字段也配置好了。接下来我们需要为这些字段建立一个模型,建立模型如下:

    4.png

    模型也已建立完成,那么我们该下载帝国cms的列表属性信息筛选显示的插件了:

    插件地址1:百度云盘下载

    插件地址2:帝国官方下载

    参照官方使用教程(帝国cms官方插件-列表属性信息筛选显示使用教程),我们将插件修改完成后userfun.php代码如下:

    文本代码:

    <?php
    //---------------------------用户自定义标签函数文件
    //显示结合项筛选选项
    function user_ShowFieldandChange($ecms=0){
     global $public_r;

     //------- 函数参数设置开始 -----

     //要显示的结合项字段列表,多个字段用半角逗号“,”隔开
     $fieldandvar='quyu,zujin,tingshi,fangshi';

     //字段显示选项设置,多项用双“#”号隔开,格式:选项说明|==|内容1,值1##内容2,值2
     $fieldandval=array();
     $fieldandval['quyu']='<b>区域:</b>|==|全鞍山,##铁东,铁东##铁西,铁西##立山,立山##千山,千山##其它,其它';
     $fieldandval['zujin']='<b>租金:</b>|==|不限,##500元以下,1__499##500-1000元,500__1000##1000-1500元,1000__1500##1500-2000元,1500__2000##2000-3000元,2000__3000##3000-4500元,3000__4500';
     $fieldandval['tingshi']='<b>厅室:</b>|==|不限,##一室,1##两室,2##三室,3##四室,4##四室以上,4__99';
     $fieldandval['fangshi']='<b>方式:</b>|==|整套出租,整套出租##单间出租,单间出租##床位,床位';

     //正常链接样式
     $fieldandcss='fieldandcss';

     //已选的选项链接样式
     $changefieldandcss='changefieldandcss';

     //字段与字段的显示间隔符,格式:开始显示字符|结束显示字符
     $fieldexp='<table><tr><td>|</td></tr></table>';

     //选项与选项的显示间隔符,格式:开始显示字符|结束显示字符
     $valexp=' ';

     //------- 函数参数设置结束 -----


     //附加参数
     $urlcs='';
     $mid=(int)$_GET['mid'];
     if($mid)
     {
      $urlcs.='&mid='.$mid;
     }
     if($_GET['classid'])
     {
      $classid=RepPostVar($_GET['classid']);
      $urlcs.='&classid='.$classid;
     }
     if($_GET['ttid'])
     {
      $ttid=RepPostVar($_GET['ttid']);
      $urlcs.='&ttid='.$ttid;
     }
     if($_GET['ztid'])
     {
      $ztid=RepPostVar($_GET['ztid']);
      $urlcs.='&ztid='.$ztid;
     }
     if($_GET['endtime'])
     {
      $starttime=RepPostVar($_GET['starttime']);
      $endtime=RepPostVar($_GET['endtime']);
      $urlcs.='&starttime='.$starttime.'&endtime='.$endtime;
     }
     $line=(int)$_GET['line'];
     if($line)
     {
      $urlcs.='&line='.$line;
     }
     $tempid=(int)$_GET['tempid'];
     if($tempid)
     {
      $urlcs.='&tempid='.$tempid;
     }
     if($_GET['orderby'])
     {
      $orderby=RepPostVar($_GET['orderby']);
      $myorder=(int)$_GET['myorder'];
      $urlcs.='&orderby='.$orderby.'&myorder='.$myorder;
     }
     //间隔字符
     $fieldexpr=explode('|',$fieldexp);
     $valexpr=explode('|',$valexp);
     //输出选项
     $fr=explode(',',$fieldandvar);
     $fcount=count($fr);
     $allstr='';
     $urladd='';
     for($i=0;$i<$fcount;$i++)
     {
      $field=$fr[$i];
      //选项链接
      $getval='';
      if($_GET[$field])
      {
       $getval=htmlspecialchars($_GET[$field],ENT_QUOTES);
       $urladd.='&'.$field.'='.urlencode($getval);
      }
      //选项说明
      $vsayr=explode('|==|',$fieldandval[$field]);
      //选项内容
      $valallstr='';
      $vr=explode('##',$vsayr[1]);
      $vcount=count($vr);
      for($vi=0;$vi<$vcount;$vi++)
      {
       $vtr=explode(',',$vr[$vi]);
       if($getval==$vtr[1])
       {
        $css=$changefieldandcss;
       }
       else
       {
        $css=$fieldandcss;
       }
       $valallstr.=$valexpr[0].'<a href="'.$public_r['newsurl'].'e/action/ListInfo.php?'.$urlcs.'&ph=1<!--url.add-->&'.$field.'='.urlencode($vtr[1]).'" class="'.$css.'">'.$vtr[0].'</a>'.$valexpr[1];
      }
      $allstr.=$fieldexpr[0].$vsayr[0].$valallstr.$fieldexpr[1];
     }
     $allstr=str_replace('<!--url.add-->',$urladd,$allstr);
     echo $allstr;
    }

    ?>

    代码文件下载:

    userfun.txt
    文件类型: .txt4e4ceacdc85730763ae71757a8793b5a.txt (3.36 KB)

    插件安装完成之后我们需要一个栏目来发布信息以供测试:

    6.jpg

    7.jpg

    复制默认分类信息所使用的列表模板并修改后的列表模板代码如下:

    页面模板内容(*):

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>[!--pagetitle--] - Powered by EmpireCMS</title>
    <meta name="keywords" content="[!--pagekey--]" />
    <meta name="description" content="[!--pagedes--]" />
    <link href="[!--news.url--]skin/default/css/style.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="[!--news.url--]skin/default/js/tabs.js"></script>
    </head>
    <body class="listpage">
    [!--temp.dtheader--]
    <table width="100%" border="0" cellspacing="10" cellpadding="0">
    <tr valign="top">
    <td class="list_content"><table width="100%" border="0" cellspacing="0" cellpadding="0" class="position">
    <tr>
    <td>您当前的位置:[!--newsnav--]</td>
    </tr>
    </table>
    <table width="100%" border="0" cellspacing="0" cellpadding="0" class="box">
    <tr>
    <td><table width="100%" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <?=user_ShowFieldandChange()?>
    <td colspan="3" class="info_list">

    </td>
    </tr>
    </table>
    <table width="100%" border="0" cellspacing="0" cellpadding="0" class="list_page">
    <tr>
    <td>[!--show.page--]</td>
    </tr>
    </table></td>
    </tr>
    </table></td>
    <td class="sider">
    <table width="100%" border="0" cellspacing="0" cellpadding="0" class="title">
    <tr>
    <td><strong>房屋信息列表</strong></td>
    </tr>
    </table>
    <table width="100%" border="0" cellspacing="0" cellpadding="0" class="box">
    <tr>
    <td>
    <ul>
    [!--empirenews.listtemp--]
    <!--list.var1-->
    [!--empirenews.listtemp--]
    </ul>
    </td>
    </tr>
    </table>

     

    </td>
    </tr>
    </table>
    [!--temp.footer--]
    </body>
    </html>

    列表内容模板(list.var) (*):

    <li>区域:[!--quyu--]&nbsp;&nbsp;租金:[!--zujin--]&nbsp;&nbsp;厅室:[!--tingshi--]&nbsp;&nbsp;方式:[!--fangshi--]</li>

    页面模板内容(*)代码文件下载:

    页面模板内容.txt
    文件类型: .txt34f52a63ee3fd33a9de47213a675cd17.txt (1.70 KB)

    列表内容模板(list.var) (*)代码下载:

     

    列表内容模板.txt
    文件类型: .txta484a451e42ed2318688a4a066f3f051.txt (120 Bytes)

    现在一切ok,我们只需要在刚才新增的栏目中添加信息发布测试即可,实现后效果如下图所示:

    8.jpg

    至此我们完成了58同城类似信息分类筛选功能的制作,但有个注意项大家必须知道,就是在list.var中的信息调用切不可用灵动标签。

     


注:以上内容由湖南长沙网站建设公司-飞云专业建站工作室提供。

相关文章
  • 免费咨询

    为您提供一对一解决方案
    立即咨询
  • 联系方式

    13517315625

    全国7×24小时热线服务
免费咨询
您的姓名
您的电话
您的邮箱
咨询内容
验证码 看不清楚,点击刷新
我们会尽快联系您,等待期间需要获取更多信息,请继续访问联系我们。感谢您对我们产品及服务的支持。