专业的织梦模板下载平台,更多精品模板,超低模板价格,网站建设如此简单!           QQ好友已满,→点此获取提取码←
当前位置:主页 > 建站教程 > 织梦插件 >

织梦文章地区联动筛选城市筛选实现方法

发布时间:2019-04-07  来源:六久阁  浏览:0  关键词:织梦文章筛选 地区联动筛选 城市筛选 

织梦文章地区联动筛选城市筛选实现效果截图:

织梦文章地区联动筛选城市筛选实现方法

织梦官方程序有个小BUG,不显示第三级城市,此问题解决方法请移步《织梦地区联动调用不显示第三级城市解决方法


具体步骤如下:

在文章模型里添加自定义字段:nativeplace,字段类型为联动类型

字段类型为联动类型

发布文章选择地区

1.增加一个文件:include/arc.plugin_listview.class.php

具体代码见附件中对应的文件(解压附件--查找到附件中该路径下的文件即可,下面方法同。太傻瓜的提示步骤了,嘿嘿)

2.在plus/list.php中引入arc.plugin_listview.class.php插件文件(代码大概放在22行)

<?php
/**
 *
 * 栏目列表/频道动态页
 *
 * @version        $Id: list.php 1 15:38 2010年7月8日Z tianya $
 * @package        DedeCMS.Site
 * @copyright      Copyright (c) 2007 - 2010, DesDev, Inc.
 * @license        http://help.dedecms.com/usersguide/license.html
 * @link           http://www.dedecms.com
 */
require_once(dirname(__FILE__)."/../include/common.inc.php");
//$t1 = ExecTime();
$tid = (isset($tid) && is_numeric($tid) ? $tid : 0);
$channelid = (isset($channelid) && is_numeric($channelid) ? $channelid : 0);
if($tid==0 && $channelid==0) die(" Request Error! ");
if(isset($TotalResult)) $TotalResult = intval(preg_replace("/[^\d]/", '', $TotalResult));
//自定义字段搜索开始
$Query_String = $_SERVER['QUERY_STRING'];
$cArr = array();
$prams = explode('&', $Query_String);
foreach($prams as $key => $value){
    $item_prams = explode('=', $value);
    if($item_prams[0] != 'tid') $cArr[$item_prams[0]] = urldecode($item_prams[1]);
}
if(count($cArr) > 0 ){
    require_once DEDEINC."/arc.plugin_listview.class.php";
    $lv = new PluginListView($tid,$cArr);
    if($lv->IsError) ParamError();
    $lv->Display();
    exit();
}
//自定义字段搜索结束
//
//
//如果指定了内容模型ID但没有指定栏目ID,那么自动获得为这个内容模型的第一个顶级栏目作为频道默认栏目
if(!empty($channelid) && empty($tid))
{
    $tinfos = $dsql->GetOne("SELECT tp.id,ch.issystem FROM `dede_arctype` tp LEFT JOIN `dede_channeltype` ch ON ch.id=tp.channeltype WHERE tp.channeltype='$channelid' And tp.reid=0 order by sortrank asc");
    if(!is_array($tinfos)) die(" No catalogs in the channel! ");
    $tid = $tinfos['id'];
}
else
{
    $tinfos = $dsql->GetOne("SELECT ch.issystem FROM `dede_arctype` tp LEFT JOIN `dede_channeltype` ch ON ch.id=tp.channeltype WHERE tp.id='$tid' ");
}
if($tinfos['issystem']==-1)
{
    $nativeplace = ( (empty($nativeplace) || !is_numeric($nativeplace)) ? 0 : $nativeplace );
    $infotype = ( (empty($infotype) || !is_numeric($infotype)) ? 0 : $infotype );
    if(!empty($keyword)) $keyword = FilterSearch($keyword);
    $cArr = array();
    if(!empty($nativeplace)) $cArr['nativeplace'] = $nativeplace;
    if(!empty($infotype)) $cArr['infotype'] = $infotype;
    if(!empty($keyword)) $cArr['keyword'] = $keyword;
    include(DEDEINC."/arc.sglistview.class.php");
    $lv = new SgListView($tid,$cArr);
} else {
    include(DEDEINC."/arc.listview.class.php");
    $lv = new ListView($tid);
    //对设置了会员级别的栏目进行处理
    if(isset($lv->Fields['corank']) && $lv->Fields['corank'] > 0)
    {
        require_once(DEDEINC.'/memberlogin.class.php');
        $cfg_ml = new MemberLogin();
        if( $cfg_ml->M_Rank < $lv->Fields['corank'] )
        {
            $dsql->Execute('me' , "SELECT * FROM `dede_arcrank` ");
            while($row = $dsql->GetObject('me'))
            {
                $memberTypes[$row->rank] = $row->membername;
            }
            $memberTypes[0] = "游客或没权限会员";
            $msgtitle = "你没有权限浏览栏目:{$lv->Fields['typename']} !";
            $moremsg = "这个栏目需要 <font color='red'>".$memberTypes[$lv->Fields['corank']]."</font> 才能访问,你目前是:<font color='red'>".$memberTypes[$cfg_ml->M_Rank]."</font> !";
            include_once(DEDETEMPLATE.'/plus/view_msg_catalog.htm');
            exit();
        }
    }
}
if($lv->IsError) ParamError();
$lv->Display();

具体可以参考附件中的相关文件。


3.在include\taglib目录下 增加一个解析文件,newinfolink.lib.php

4、修改/images/enums.js这个文件

4.在模板文件中调用:

使用{dede:newinfolink}{/dede:newinfolink}这样的配对标签调用即可,

{dede:newinfolink}
<div class="col-lg-3 col-md-3 col-sm-3 weui-pt10">
<select class="form-control select" name='linkallplace' onchange='location.href=this.options[this.selectedIndex].value;'>
[field:linkallplace/]
</select>
</div>
<div class="col-lg-3 col-md-3 col-sm-3 weui-pt10">
<select class="form-control select" name='nativeplace' onchange='location.href=this.options[this.selectedIndex].value;'>
[field:nativeplace /]
</select>
</div>
<div class="col-lg-3 col-md-3 col-sm-3 weui-pt10">
<select class="form-control select" name='county' onchange='location.href=this.options[this.selectedIndex].value;'>
[field:county /]
</select>
</div>
{/dede:newinfolink}

具体的可以参考附件中的模板文件\templets\default\list_article.htm查看具体调用方法


代码附件请到百度网盘下载:https://pan.baidu.com/s/1dDlHQv11Bl0d5z8mK7azqg       提取密码:加客服QQ344693787获得

织梦二次开发QQ群

群号(383578617) DedeCMS织梦教程QQ群 如果您有任何织梦问题,请把问题发到群里,阁主将免费为您写解决教程!

相关文章

已有 0 人评论


CopyRight © 2016-2017 六久阁模板下载网 版权所有  备案号:滇ICP备15006281号-4 
本站部份内容来源自网络,文字、素材、图片版权属于原作者,本站转载素材仅供大家欣赏和分享,切勿做为商业目的使用。
如果侵害了您的合法权益,请您及时与我们,我们会在第一时间删除相关内容!