加入收藏 | 设为首页 | 会员中心 | 我要投稿 珠海站长网 (https://www.0756zz.cn/)- 云服务器、边缘计算、基础存储、云计算、中间件!
当前位置: 首页 > 教程 > 正文

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

发布时间:2022-09-05 09:50:46 所属栏目:教程 来源:互联网
导读:织梦在发表文章时,你会发现有一个副栏目的功能.比如一个文章,他可能即属于你的科技栏目,也属于互联网栏目,那你在发表这个文章时,主栏目可以选择科技,副栏目可以在互联网上打勾选定. 文章的副栏目保存在数据库表archives中的typeid2这个字段中. 效果图.文章属
  织梦在发表文章时,你会发现有一个副栏目的功能.比如一个文章,他可能即属于你的科技栏目,也属于互联网栏目,那你在发表这个文章时,主栏目可以选择科技,副栏目可以在互联网上打勾选定.
 
  文章的副栏目保存在数据库表archives中的typeid2这个字段中.
 
  效果图.文章属于商会.及德商文化等.三个栏目.我里在栏目显示出来.点击链接后,就会进入相关的栏目中.这里是js函数的形式.只作案例演示.
 
  模板标签代码为   
 
  {dede:arclist row='2' titlelen='100'typeid=2 orderby='id' }
 
          <span>
 
          <a  href="javascript:"onclick="javascript:change_tab([field:typeid/]);">[field:typename/]</a>
 
          <!-- 上面是文章所属的主栏目,很方便调用. -->
 
          [field:typeid2 function="get_url_by_typeid2(@me)"/]
 
          <!-- 上面是文章所属的副栏目,需要单独写函数get_url_by_typeid2 -->
 
          </span>
 
  {/dede:arclist}
 
  函数代码,需要增加在includeextend.func.PHP 中   
 
  //得到副栏目信息,并组织字符串
 
  function get_url_by_typeid2($typeid2){
 
          $arrs=explode(",",$typeid2);//解析副栏目字段
 
          if($typeid2==0){
 
          return '';
 
          }else{
 
          $url='';
 
          foreach($arrs as $v){
 
              $url.='<a href="javascript:"
 
              onclick="javascript:change_tab('.$v.');">'.get_typename($v).'</a>';
 
          }
 
          return $url;
 
          }
 
  }
 
  //织梦根据栏目编号typeid调用typename栏目名
 
  function get_typename($typeid){
 
      global $dsql;
 
      $rs=$dsql->getOne("select typename from arctype where id='$typeid'");
 
  return $rs['typename'];
 
  }
 
  另外特别注意,织梦标签artlist不能调用副栏目中的文章内容的问题,即文章属于互联网这个副栏目,但互联网栏目中却不显示这个文章.
 
  需要修改系统文件./include/taglib/arclist.lib.php
 
  295到296行修改
 
  原代码   
 
  if($CrossID=='') $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).')';
 
  else $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).','.$CrossID.')';
 
  修改为   
 
  if($CrossID=='')
 
  $orwheres[] = " (arc.typeid in (".GetSonIds($typeid).") or arc.typeid2 in (".GetSonIds($typeid).") or CONCAT( ',', arc.typeid2, ',' ) LIKE '%,".$typeid.",%' )";
 
  else
 
  $orwheres[] = " (arc.typeid in (".GetSonIds($typeid).",".$CrossID.") or arc.typeid2 in (".GetSonIds($typeid).",".$CrossID.") or CONCAT( ',', arc.typeid2, ',' ) LIKE '%,".$typeid.",%')";
 

(编辑:珠海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读