帝国cms结合项列表属性筛选最详细教程

0 个评论
首先把这个代码复制到e/class/userfun.php   里面去: <?php //—————————用户自定义标签函数文件 //显示结合项筛选选项 function user_ShowFieldandChange($val,$fieldandvar,$fieldandcss,$changefieldandcss,$fieldexp,$valexp,$val3,$ecms=0){ global $public_r,$navclassid; $fieldandval=$val; $fieldandvart=$fieldandvar; $fieldandvar=str_replace(‘#’,’,’,$fieldandvar); //附加参数 $urlcs=”; $mid=(int)$_GET[‘mid’]; if($mid) { $urlcs.=’&mid=’.$mid; } if($_GET[‘classid’]) { $classid=RepPostVar($_GET[‘classid’]); $urlcs.=’&classid=’.$classid; } else { $urlcs.=’&classid=’.$navclassid; } 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); //上下级 $frt=explode(‘,’,$fieldandvart); $ftcount=count($frt); //输出选项 $fr=explode(‘,’,$fieldandvar); $fcount=count($fr); $allstr=”; foreach ($_GET as $key=>$val){                if($val && in_array($key, $fr)){                        $url_this=$key.’=’.urlencode($val);                        $url=str_replace($url_this,”,$_SERVER[REQUEST_URI]);                        $tj=’已选择条件:’;                        $yixuan.='<a class="del_jhx" href="’.$url.’">’.$val.’x</a> ‘;                                }        }        echo $tj.$yixuan; $urladd=”; for($i=0;$i<$fcount;$i++) {   $nofield=""; $field=$fr[$i]; for($ti=0;$ti<$ftcount;$ti++)    { $frtval=explode(‘#’,$frt[$ti]); if($field==$frtval[0]){$nofield="&".$frtval[1]."=";} } //选项链接 $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="/e/action/ListInfo.php?’.$urlcs.’&ph=1<!–url.add–>&’.$field.’=’.urlencode($vtr[1]).$nofield.’" class="’.$css.’">’.$vtr[0].'</a>’.$valexpr[1]; } //自定义样式 实现二级自定义样式 if($val3[$field]!="") { $fieldexpr2=explode(‘|’,$val3[$field]); $allstr[$i]=$fieldexpr2[0].$vsayr[0].$valallstr.$fieldexpr2[1]; } else { $allstr[$i]=$fieldexpr[0].$vsayr[0].$valallstr.$fieldexpr[1]; } //清空没有数据的行 if($vcount==1){$allstr[$i]="";} } $allstr=str_replace(‘<!–url.add–>’,$urladd,$allstr); return $allstr; } ?>   然后把这个代码放到模板里面: <?php         $GET=$_GET;     //——- 函数参数设置开始 —–     //要显示的结合项字段列表,多个字段用半角逗号“,”隔开 如果是二级关系用 “#”     $fieldandvar=’quyu,ftitle,jiage’;     //正常链接样式     $fieldandcss=’fieldandcss’;     //已选的选项链接样式     $changefieldandcss=’changefieldandcss’;     //字段与字段的显示间隔符,格式:开始显示字符|结束显示字符     $fieldexp='<table><tr><td>|</td></tr></table>’;     //选项与选项的显示间隔符,格式:开始显示字符|结束显示字符     $valexp=’| ‘;     //字段显示选项设置,多项用“|”号隔开,格式:选项说明|==|内容1,值1|内容2,值2         $val=array();     $val2=array();     $val3=array();     $val[‘quyu’]='<b>区域:</b>|==|老城,老区|新区,新区’;     $val[‘ftitle’]='<b>户型:</b>|==|三室一厅,三室一厅|三室两厅,三室两厅|两室一厅,两室一厅’;     $val[‘jiage’]='<b>价格:</b>|==|50,50|40,40|30,30′;     $val3[‘jiage’]='<div class="gzw">|</div>’; $val3[‘quyu’]='<div class="gzw">|</div>’; $val3[‘ftitle’]='<div class="gzw">|</div>’;     $g=user_ShowFieldandChange($val,$fieldandvar,$fieldandcss,$changefieldandcss,$fieldexp,$valexp,$val3); ?> <?=$g[0]?> <?=$g[1]?> <?=$g[2]?> <?=$g[3]?> <?=$g[4]?> 这是后台对应的字段,一定要对应你的后台 这个的原理其实就是判断你这个字段里面是不是有这个文字,从而达到赛选的目的 这个是对应的样式,可以通过class进行样式控制 这个是必须要加的,原理的话我也不清楚,反正不加是不显示的 这里是控制筛选的,效果如下
2019-06-10 / ecms / 2,608 views浏览
阅读全文

帝国CMS内容页调用TAG的6种方法!包括PHP和灵动还有样式改造!

0 个评论
方法1、 调用10条当前tag [showtags]’selfinfo’,10,0,”,0,”,’&nbsp;’,0,”,’tagname'[/showtags] 方法2、 内容页调用tag,按tagname调用 <div class="tagsline">Tags:<? $a="$navinfor[infotags]";             $str=str_replace(‘,’, ‘,’, $a);             $tag=”;             $t= explode(",", $str);                     for($i=0;$i<count($t);$i++)                     {                             if($t[$i])                             {                                     $tagslink="[!–news.url–]e/tags/?tagname=".urlencode($t[$i])."&tempid=1";                                     $tag.="<a href=’$tagslink’ target=’_blank’>".$t[$i]."</a> ";                             }             }             echo $tag; ?>         </div> 或,按tagname调用 <?php $fr=$empire->fetch1("select infotags from {$dbtbpre}ecms_news_data_{$navinfor[stb]} where id=’$navinfor[id]’"); $infotags=$fr[‘infotags’];//这个就是infotags字段内容 $tag=”; $t=explode(‘,’,$infotags);//去逗号 $d=count($t);         for($i=0;$i<count($t);$i++)         {                 if($t[$i])                 {                         $tagslink="[!–news.url–]e/tags/?tagname=".urlencode($t[$i])."&tempid=1";                        $tag.="<a href=’$tagslink’ target=’_blank’>".$t[$i]."</a> ";                 } } echo $tag; ?> 或,按id调用 <?          $tbname=$class_r[$navinfor[‘classid’]][‘tbname’]; $ftbname=$dbtbpre."ecms_".$tbname."_data_".$navinfor[‘stb’]; $hlt = $empire->fetch1("select infotags from {$ftbname} where id=’$navinfor[id]’");                $a=$hlt[infotags];             $str=str_replace(‘,’, ‘,’, $a);             $tag=”;             $t= explode(",", $str);                     for($i=0;$i<count($t);$i++)                     {                             if($t[$i])                             {    $datar=$empire->fetch1("select tagid from {$dbtbpre}enewstags where tagname=’$t[$i]’ limit 1");                                        $tagslink="[!–news.url–]e/tags/?tagid=".$datar[tagid]."";                                     $tag.="<a href=’$tagslink’ target=’_blank’>".$t[$i]."</a> ";                             }             }             echo $tag;             ?> 注释: 限制数量,把$i<count($t)修改为$i<count($t)&&$i<限制数量 mid=1数据模型id  tempid=1模型的模板id   orderby排列方式  classid=34栏目id  &line=5调用条数 如:上面的 &tempid=1   ————————————————————————————————————— 方法3、tags标签实现多颜色样式 <?php $ecms_bq_sql=sys_ReturnEcmsLoopBq("select * from [!db.pre!]enewstagsdata where classid=’$navinfor[classid]’ and id=’$navinfor[id]’ order by tagid",10,24,0); $bqno=0; while($bqr=$empire->fetch($ecms_bq_sql)) { $bqsr=sys_ReturnEcmsLoopStext($bqr); $bqno++; ?>       <?php $ecms_bq_sql2=sys_ReturnEcmsLoopBq("select * from [!db.pre!]enewstags where tagid=’$bqr[tagid]’ order by tagid",1,24,0); $bqno2=0; while($bqr2=$empire->fetch($ecms_bq_sql2)) { $bqsr2=sys_ReturnEcmsLoopStext($bqr2); $bqno2++; ?> <a class="tag-<?=$bqno?>" href="<?=$public_r[newsurl]?>e/tags/?tagname=<?=$bqr2[‘tagname’]?>&tempid=1"><?=$bqr2[tagname]?></a>    <?php } } ?> 接着在css中定义标签的样式,这个可以自己定义。 .tag-1{background:#ff7094;}   .tag-2{background:#94b770;}   .tag-3{background:#db94ff;}   .tag-4{background:#399;}   .tag-5{background:#f60;}   注释:mid=1数据模型id  tempid=1模型的模板id   orderby排列方式  classid=34栏目id 如:上面的 &tempid=1 ————————————————————————————————————— 方法4、 [e:loop={"select a.*,b.* from [!db.pre!]enewstags a LEFT JOIN [!db.pre!]enewstagsdata b ON a.tagid=b.tagid where b.classid=’$navinfor[classid]’ and b.id=’$navinfor[id]’ group by b.tagid order by a.num desc limit 100",0,24,0}] <a href='<?=$public_r[‘newsurl’]?>e/tags/?tagname=<?=$bqr[‘tagname’]?>’ title='<?=$bqr[‘num’]?>个’><?=$bqr[‘tagname’]?>(<?=$bqr[‘num’]?>)</a> [/e:loop] ————————————————————————————————————— 方法5、 <?php $tsql=$empire->query("select * from {$dbtbpre}enewstagsdata where id=’$navinfor[id]’order by id asc limit 7"); while($tr=$empire->fetch($tsql)){ $tag=$empire->fetch1("select * from {$dbtbpre}enewstags where tagid=’$tr[tagid]’ limit 1"); ?> <span><a class="tag" href="<?=$public_r[newsurl]?>e/tags/?tagname=<?=$tag[‘tagname’]?>"><?=$tag[tagname]?></a></span>&nbsp; <?}?> 方法6.(网友提供,感谢) <?php          $tbname="news"; //“news”为新闻数据表名称 $ftbname=$dbtbpre."ecms_".$tbname."_data_".$navinfor[‘stb’]; $hlt = $empire->fetch1("select infotags from {$ftbname} where id=’$navinfor[id]’");    $keyr=explode(‘,’,$hlt[infotags]); for($i=0;$i<count($keyr);$i++) { echo ‘<a href="’.$public_r[newsurl].’e/tags/?tagname=’.$keyr[$i].’" target=_blank>’.$keyr[$i].'</a>&nbsp;&nbsp;’; } ?> 或 <?php $fr=$empire->fetch1("select infotags from {$dbtbpre}ecms_news_data_{$navinfor[stb]} where id=’$navinfor[id]’"); $keyr=explode(‘,’,$fr[infotags]); for($i=0;$i<count($keyr);$i++) { echo ‘<a href="’.$public_r[newsurl].’e/tags/?tagname=’.$keyr[$i].’" target=_blank>’.$keyr[$i].'</a>&nbsp;&nbsp;’; } ?> 或 <?php $fr=$empire->fetch1("select infotags from {$dbtbpre}ecms_news_data_{$navinfor[stb]} where id=’$navinfor[id]’"); $infotags=$fr[‘infotags’]; $r_tag=explode(",",$infotags); for($i=0;$i<count($r_tag);$i++){         if($r_tag[$i]){                 $tagslink=$public_r[newsurl]."e/tags/?tagname=".urlencode($r_tag[$i]);                 $tags.="<a class=’tag-link19′ href=’$tagslink’ target=’_blank’ rel=’tag’>".$r_tag[$i]."</a>";         } } ?> tag:<?=$tags?> 注释:限制数量,把$i<count($keyr)修改为$i<count($keyr)&&$i<限制数量   原文链接https://www.moyublog.com/notes/733.html
2019-06-10 / ecms / 1,707 views浏览
阅读全文

帝国cms结合项列表属性筛选图文教程

0 个评论
https://www.jb51.net/cms/76184.html  原文链接   如果你经常上58同城、赶集网、百姓网等分类信息网站时,在茫茫信息中你怎么可以准确的找到自己所需要的信息,这时我们就用到网站提供的筛选功能,从而快速便捷的找到所需要的信息范围。在我们建站中,这个筛选功能经常用到,下面我们以58同城网的租房栏目列表筛选为例,详细讲解帝国cms结合项列表属性筛选功能。 先看图: 一、建立字段 可以看到租房栏目列表筛选用到了4个字段:“区域”、“租金”、“厅室”、“方式”。 (1)字段“区域”的值为:“全鞍山”、“铁东”、“铁西”、“立山”、“千山”、“其他”,字段设置如下图: (2)字段“租金”的值为:“不限”、“500元以下”、“500-1000元”、“1000-1500元”、“1500-2000元”、“2000-3000元”、“3000-4500元”、“4500元以上”,字段设置如下图: (3)字段“厅室”的值为:“不限”、“一室”、“两室”、“三室”、“四室”、“四室以上”,字段设置如下图: (4)字段“方式”的值为:“整套出租”、“单间出租”、“床位”,字段设置如下图: 二、安装修改插件 下载帝国cms官方结合项列表属性筛选插件,然后打开“fieldand.txt”文件,将文件里的所有内容复制到 /e/class/userfun.php 文件里(放在之间任意位置);(推荐用Dreamweaver或Editplus等编辑工具修改) 先在要显示的结合项字段列表,把“$fieldandvar=‘myarea,sex,age’;”改成“$fieldandvar=‘quyu,zujin,tingshi,fangshi’;”,这是我们需要的显示的4个字段列表。 接着我们用4种颜色来表示各字段代码的区域,从而直观的分析他们共同代码点,如下图(2-1): 由上图得到 字段与字段的显示间隔符 “$fieldexp=’ | ”。 然后根据格式:“选项说明|==|内容1,值1##内容2,值2”进行分析: 最后得到修改后的图: 根据代码“全鞍山”得到 已选的选项链接样式 “$changefieldandcss=’select’;”。 根据上图(2-1)结合 选项与选项的显示间隔符格式:开始显示字符|结束显示字符 得到 “$valexp=”;”。 修改好的插件代码如图: 三、测试效果 我们看下效果: 点击“区域”的“铁东”效果如下: 接着点击“租金”的“500元以下”效果如下: ok,测试没有问题,这一讲就到此。 注意事项: (1)代码无误,但是筛选后并没有起作用的原因是系统模型相应字段的结合项没有打上勾。 (2)筛选时提示“你来自的连接不存在”是因为地址栏没有指定“&classid=栏目ID” 。 附上:官方插件 ecms jiehexiang
2019-06-10 / ecms / 1,486 views浏览
阅读全文

终于能让QQ运动记录轨迹了

0 个评论
QQ默认会杀QQ的GPS后台,导致我开运动的时候,不记录轨迹,打开一次QQ就定位一次,然后轨迹会变成直线,今天搜索了一下教程,终于学会设置了。 其中一个是在安全中心,应用管理里面的自启动管理,把QQ设置为可以自启动。 还有一个在设置里面电量和性能那里,应用设置,省电策略,找到QQ设置为无限制 然后就OK了
2019-06-06 / 生活 / 2,022 views浏览
阅读全文

CPU原装风扇给我弄坏针脚了,换了个青鸟3,不知道真假

0 个评论
  某东是这个价格~感觉30块以内比较合适 我本地实体店买的~40块   还有个防伪码~发短信过去没有消息回来的~ 就当买到了个假货吧~ 风扇颜色都不一样 不过网上也有黑风扇的 反正发热量不大,差不多就行了
2019-05-30 / 生活 / 1,732 views浏览
阅读全文

微信小程序 – 实现一个移动端小商城

0 个评论
https://blog.csdn.net/sinat_17775997/article/details/54631589
2019-05-30 / android安卓 / 1,779 views浏览
阅读全文

Android 基础入门教程

0 个评论
1.1 背景相关与系统架构分析 https://www.runoob.com/w3cnote/android-tutorial-system-architecture-analysis.html
2019-05-30 / android安卓 / 1,687 views浏览
阅读全文

学习C#的一些文章

0 个评论
C#中HttpWebRequest与HttpWebResponse的使用方法 https://www.cnblogs.com/txw1958/archive/2013/01/11/csharp-HttpWebRequest-HttpWebResponse.html C#保存数据到文件,读取文件数据 https://blog.csdn.net/scimence/article/details/44828195 C#保存网络图片到本地 https://www.cnblogs.com/lampon/p/3419542.html C#一个简单多线程的实例 https://blog.csdn.net/yujie_yang/article/details/53173752 C#子线程执行完后通知主线程 https://blog.csdn.net/nextstand/article/details/51554167
2019-05-30 / C# / 1,638 views浏览
阅读全文

原来小米助手那么老啊

0 个评论
竟然说不支持新系统,看来是真的 通用线刷教程 据说打个勾可以上锁 http://www.miui.com/shuaji-393.html
2019-05-30 / 生活 / 1,455 views浏览
阅读全文

刚刚才知道,新浪博客的相册功能下线了

0 个评论
虽然我不怎么用他的相册,但我怎么觉得相册貌似在接二连三倒闭啊 POCO没了,网易的没了,新浪的也要没了,唉~想找个保存相片的地方都没有了吗? 还是继续打包备份在百度云吧
2019-05-30 / 生活 / 1,217 views浏览
阅读全文