织梦dedecms调用文章所属的副栏目id及副栏目名称网址链接等

2017-02-17dedecms教程
598

织梦在发表文章时,你会发现有一个副栏目的功能.比如一个文章,他可能即属于你的科技栏目,也属于互联网栏目,那你在发表这个文章时,主栏目可以选择科技,副栏目可以在互联网上打勾选定.

文章的副栏目保存在数据库表archives中的typeid2这个字段中.

效果图.文章属于商会.及德商文化等.三个栏目.我里在栏目显示出来.点击链接后,就会进入相关的栏目中.这里是js函数的形式.只作案例演示.

 

模板标签代码为

 
  1. {wmd:arclist row='2' titlelen='100' typeid=2 orderby='id' }  
  2.         <span>  
  3.         <a  href="javascript:"onclick="javascript:change_tab([field:typeid/]);">[field:typename/]</a>  
  4.         <!-- 上面是文章所属的主栏目,很方便调用. -->  
  5.         [field:typeid2 function="get_url_by_typeid2(@me)"/]  
  6.         <!-- 上面是文章所属的副栏目,需要单独写函数get_url_by_typeid2 -->  
  7.         </span>  
  8. {/wmd:arclist}  

 

函数代码,需要增加在\include\extend.func.PHP 中

 
  1. //得到副栏目信息,并组织字符串  
  2. function get_url_by_typeid2($typeid2){  
  3.         $arrs=explode(",",$typeid2);//解析副栏目字段  
  4.         if($typeid2==0){  
  5.         return '';  
  6.         }else{  
  7.         $url='';  
  8.         foreach($arrs as $v){  
  9.             $url.='<a href="javascript:"  
  10.             onclick="javascript:change_tab('.$v.');">'.get_typename($v).'</a>';  
  11.         }  
  12.         return $url;  
  13.         }  
  14. }  
  15. //织梦根据栏目编号typeid调用typename栏目名  
  16. function get_typename($typeid){  
  17.     global $dsql;  
  18.     $rs=$dsql->getOne("select typename from wmd_arctype where id='$typeid'");  
  19. return $rs['typename'];  
  20. }  

 

另外特别注意,织梦标签artlist不能调用副栏目中的文章内容的问题,即文章属于互联网这个副栏目,但互联网栏目中却不显示这个文章.

需要修改系统文件./include/taglib/arclist.lib.php

295到296行修改

原代码

 copy
  1. if($CrossID==''$orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).')';  
  2. else $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).','.$CrossID.')';  

修改为
 
  1. if($CrossID=='')  
  2. $orwheres[] = " (arc.typeid in (".GetSonIds($typeid).") or arc.typeid2 in (".GetSonIds($typeid).") or CONCAT( ',', arc.typeid2, ',' ) LIKE '%,".$typeid.",%' )";  
  3. else  
  4. $orwheres[] = " (arc.typeid in (".GetSonIds($typeid).",".$CrossID.") or arc.typeid2 in (".GetSonId

The End

相关推荐

Dedecms织梦CMS如何添加自定义函数
我们在使用dedecms时候,需要拓展函数,那么这个函数需要写在哪个文件中呢?一般来说,需要写在:include/extend.func.php中,当然也可以写在其他公共文件中方便调用,以下是几个自定义函数示例...
2025-10-05 dedecms教程
80

织梦发布文档时候字数被限制了如何修改?
织梦发布文档时候字数被限制了如何修改,下面以文章发布为例,跟版网小编教你如何修改: 程序文件 dede/article_add.php dede/article_edit.php 修改代码 这里都是被进行了截取,我们只需要将截取字符改长一点就可以 $title= cn_substrR($title,$cfg_title_ma...
2025-07-05 dedecms教程
86

dedecms怎么做判断?怎么在一个标签中输入另外一个标签?
我们在使用织梦DedeCMS系统程序开发网站中,经常遇到需要对文章标题进行字数限制,通常做法是在a标签中加入一个title属性,让鼠标放上去的时候显示完整标题。但是标题被剪裁掉一些字符而不完整,下面跟版网的小编就为你推荐另外几种标题调用方式,如进行标题...
2025-07-05 dedecms教程
69

dedecms怎样设置给图片添加水印
dedecms怎样设置给图片添加水印,具体步骤为: 一、进入系统基本参数中的附件设置,启用是否使用图片水印选项; 二、在图像水印设置中选择文字或图片水印类型,文字水印可调整字体、颜色、透明度及位置,图片水印则需上传png格式的半透明logo,并合理设置大...
2025-07-01 dedecms教程
147

dedecms织梦列表页字段怎么做判断
用到dedecms时候,有时候需要对文章列表、arclist输出时候的字段做判断显示,比如缩略图没有则不显示,有的时候就显示图片,并且固定尺寸,这个要怎么操作呢? 关于列表字段内自定义字段的调用方法,有数据则显示无数据则不显示(备注:limit=3,1意思是从第4...
2025-07-01 dedecms教程
68

织梦内容页使用if判断某个字段是否为空
我们在使用织梦dedecms时候,如何使用if判断某个字段是否为空呢?我们以文章页自定义字段website为例:使用if语句判断website网址是否为空,如果有显示website并加上网址,如果没有就不显示。 {wmd:field.website runphp='yes'}if(@me'') {@me = 'a href="'...
2025-06-21 dedecms教程
171