织梦的联动效果在分类模型里有,但是,如果想让文章模型也有联动的效果,怎么办?

比如:按照地区+分类筛选,可以用文字模型类的方式,自定义字段,做联动效果如图:

 

 

网络上很多联动教程,修改了大量的核心代码,维护难,下面教大家一个特别简单的方法,不需要修改dede核心文件,只需要添加一个文件即可,维护方便,修改方便,调用方便.

又调用出来的联动组合式网址的方式(非js),有利于搜索引擎的seo

下面,就讲述如何利用dede做出文章模型的联动,调用的时候特别简单,只需要用dede标签调用即可,和分类模型中的那样,用{dede:infolink}{/dede:infolink}  

其中的参数直接用[field:字段 /]调用即可,

具体步骤如下:

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

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

 

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

 

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();

}

//自定义字段搜索结束

//

 

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

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

 

具体函数见附件文件

4.在模板文件中调用:

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

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

 

代码附件请到百度网盘下载:http://pan.baidu.com/s/1jHBEUCe       提取密码:加*862782808获得

虽然很简单,但是很实用,可以用[文章模型+自定义+联动]做出来很多特殊的效果。

注:以上只是说到了地区+分类的联动,其实附件代码中还有地区+分类+阅读量+发布时间等组合的联动,自己去研究代码去,很强大的一段代码,