在线客服与您一对一交流
当前位置: 主页 > 行业新闻 > IT技术 >

dedecms织梦让likearticle的mytypeid支持多个栏目和子栏目

在使用dede:likearticle时,如果你想获取多个指定栏目下的相关文章,而刚好这个多个栏目下还有子栏目时,官方的程序不能满足你的需求,你需要改一下

打开 \include\taglib\likearticle.lib.php 找到
 

if( !empty($typeid) && !preg_match('#,#', $typeid) ) {
	$typeid = GetSonIds($typeid);
}

在它下面加入

PHP
else
{
	$typeids = explode(',', $typeid);
	foreach($typeids as $ttid) {
		$typeidss[] = GetSonIds($ttid);
	}
	$typeidStr = join(',', $typeidss);
	$typeidss = explode(',', $typeidStr);
	$typeidssok = array_unique($typeidss);
	$typeid = join(',', $typeidssok);
}

模板标签写法

{dede:likearticle row='10' col='' titlelen='150' infolen='250' mytypeid='10,12,14'}
<li><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:likearticle}

完成。

其他相关文章调用:绵阳做网站

一、根据栏目名称调用随机文档
在栏目页,如果栏目名称为“智能手机”,那么如果整站其他栏目里面含有“智能手机”这个关键词的文章都给调出来。方法如下 做个记号 以待后用。
将以下代码 复制到  include文件夹下的 common.func.php 里
function list_keyword($typename) 
 { 
     $tsql = new DedeSql(false); 
     $typename = ''; 
     $tsql->SetQuery("Select id,title From dede_archives  where keywords like '%$typename%'"); 
     $tsql->Execute('t'); 
     while($row = $tsql->GetArray('t',MYSQL_ASSOC)){
  $g=GetOneArchive($row['id']);
  $typename .= "<a href=".$g['arcurl'].">".$g['arctitle']."</a> ";
     } 
     return $typename; 
}
然后再栏目页模板里使用 {dede:field.typename function="list_keyword(@me)"/} 就可以了 经测试 5.6完全可用。
二、根据栏目关键词调用相关文档
 1、修改源文件 likearticle.lib.php
 注释的就是源代码,注释掉,修改为下面的代码,做个判断 ,不影响原来的
//$typeid = " AND arc.typeid IN($typeid) AND arc.id<>$arcid ";
 if($arcid){ $typeid = " AND arc.typeid IN($typeid) AND arc.id<>$arcid ";}
 else{$typeid = " AND arc.typeid IN($typeid)  ";}
//$typeid = " arc.typeid IN($typeid) AND arc.id<>$arcid ";
if($arcid){ $typeid = " arc.typeid IN($typeid) AND arc.id<>$arcid ";}
else{$typeid = " arc.typeid IN($typeid)";}

相关文章:

  • 帝国CMS是什么程序 帝国CMS是一套开源的静态页面程序,凭借超高的扩展性,很多知名的新闻站点、行业站点都是应用的帝国CMS后端。因为帝国CMS和dedecms一样都是生成静态页面的,所以非常利于...

  • 域名解析DNS分为显性URL和隐形URL,显性URL和隐形URL有什么区别?隐形URL和显性URL哪个更有利于SEO?显性URL相当于域名了302重定向,隐形URL使用iframe框架技术隐藏真实目标地址,显性URL更有利于...

  • 在常见的CMS系统中,我对dedecms算是比较熟悉的,自己网站用的也是这个系统。系统功能强大使用灵活,相信这也是它受到大多数中小站长青睐的原因。 再好的系统也有照顾不周的地方,很多站...

  • 这篇文章主要为大家详细介绍了dedecms后台增加php导出excel功能实现办法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴。 不少朋友希望织梦的后台...

  • 第一次使用的插件是 pdfobject.js 百度网盘下载地址:http://pan.baidu.com/s/1kUPhYdT 加载 script src=/style/js/pdfobject.js /script script type=text/javascript window.onload = function (){ var success = new PDFObject({ url: pdf文件地...

  • 网上有一种方法是copy+unlink来移动文件,但是遇到大文件时会消耗大量时间,对性能不怎么友好,可以使用rename()来移动文件,速度非常快 关于rename()函数 bool rename ( string $oldname , string $newname...

  • 基于我们公司可选的几种推广方式: 一、关键词优化排名推广(推荐) 指定关键词推广,按天付费,推广我们业务中最重要的一些关键词,达到百度首页才收费,大概一个关键词10元/天左右。...

  • 插件介绍 wordpress程序网站在发布文章时可以给每一片文章添加与之相关的TAG标签,对于TAG标签可以生成很多页面,增加搜索引擎对内容的抓取量。 WP Auto Keywords插件就是一款能自动给文章添加...

  • 5.7 生成列表页 改动 include/arc.listview.class.php 1.先设置 关闭副栏目(在系统----系统基本参数性能选项里) 2.一般网站不需要 栏目交叉 交叉 所以 找到94行注释掉: //获得交叉栏目ID /*if($this-Type...

  • 使用preg_replace将删除所有空白(包括制表符等) $string = user na me $string = preg_replace(/\s+/, , $string); echo $string; // username preg_replace(/\s/u, ,$string) u (PCRE8) 此修正符打开一个与perl不兼容的附加功能. 模式...

  • 公司:绵阳蟠龙网络科技有限公司
  • 联系人:张经理
  • 手机/微信18681637328:
  • Q Q: 点击这里给我发消息
  • 地址:绵阳市雁塔区唐延南路11号逸翠园i都会