织梦CMS利用tag调用相关文章

织梦教程 强烈建议 2024-02-06 14:18 129 0

  下面大家来看看织梦使用tag调用相关文章的办法,***适合seo哦。也可以根据关键词+tag调用。

  1.把下边代码保存到文章模版的适当位置

  

  

  

  

相关文章

  

  

      {dede:likearticle col='2' row='10' titlelen='42' eregtype=all|tag|keyword}

      

  • [field:title/]
  •   2.把下边的php代码替换掉likearticle.lib里的代码 dedecms.com

      

      if(!defined('DEDEINC')) exit('Request Error!');

      function lib_likearticle(&$ctag,&$refObj)

      {

      global $dsql;

      //属性处理

      $attlist="row|12,titlelen|28,infolen|150,col|1,tablewidth|100,mytypeid|0,byabs|0,imgwidth|120,imgheight|90";

      FillAttsDefault($ctag->CAttribute->Items,$attlist);

      extract($ctag->CAttribute->Items, EXTR_SKIP);

      $revalue='';

      if(empty($tablewidth)) $tablewidth=100;

      if(empty($col)) $col=1;

      $colWidth=ceil(100/$col); 内容来自dedecms

      $tablewidth=$tablewidth."%";

      $colWidth=$colWidth."%";

      $ids=array();

      $tids=array();

      $typeid=( !empty($mytypeid) ? $mytypeid : 0 );

      if(empty($typeid))

      {

      if(!empty($refObj->Typelink->TypeInfos['reid'])) {

      $typeid=$refObj->Typelink->TypeInfos['reid'];

      }

      else {

      if(!empty($refObj->Fields['typeid'])) $typeid=$refObj->Fields['typeid'];

      }

      }

      if( !empty($typeid) && !ereg(',', $typeid) ) {

      $typeid=GetSonIds($typeid);

      }

      if(!empty($refObj->Fields['tags']) && $eregtype !='keyword' )

      {

      $tags=explode(',', addslashes($refObj->Fields['tags']));

      {/dede:likearticle}

      

  

  

  

   copyright dedecms

  $getsql=" tag like '".join("' OR tag like '", $tags)."' ";

  $dsql->Execute('me', "Select * From `dedecp_tagindex` where $getsql ");

  while($arow=$dsql->GetArray('me')) {

  $tids[]=$arow['id'];

  }

  $tid=join(',', $tids);

  if($tid!='')

  {

  $dsql->Execute("me", "Select aid From `dedecp_taglist` where tid in($tid) And arcrank > -1 group by aid order by aid desc limit 0, $row");

  while($arow=$dsql->GetArray("me"))

  {

  $ids[]=$arow['aid'];

  $arcid= $refObj->Fields['aid'];

  }

  }

  }

  if($eregtype=='tag' && count($ids)==0 )

  {

  return '';

  }

  else

  {

  if(count($ids) > 0)

  {

  if(!empty($typeid)) {

  $typeid=" And arc.typeid in($typeid) And arc.id<>$arcid ";

  }

  $idsStr=join(',', $ids);

  $query="Select arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,

  tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath

  from `dedecp_archives` arc left join `dedecp_arctype` tp on arc.typeid=tp.id

  where arc.id in($idsStr) $typeid order by arc.id desc";

  }

  else

  {

  $limitRow=$row - count($ids);

  $keyword='';

  if(!empty($refObj->Fields['keywords']))

  {

  $keywords=explode(',' , trim($refObj->Fields['keywords']));

  $keyword='';

  $n=1;

  foreach($keywords as $k)

  {

  if($n > 3) break;

  if(trim($k)=='') continue;

  else $k=addslashes($k);

  $keyword .=($keyword=='' ? " CONCAT(arc.keywords,' ',arc.title) like '%$k%' " : " OR CONCAT(arc.keywords,' ',arc.title) like '%$k%' ");

  $n++;

  }

  }

  $arcid=(!empty($refObj->Fields['id']) ? $refObj->Fields['aid'] : 0);

  if( empty($arcid) || $byabs==0 ) {

  $orderquery=" order by arc.id desc ";

  }

  else {

  $orderquery=" order by ABS(arc.id - ".$arcid.") ";

  }

  if($keyword !='')

  {

  if(!empty($typeid)) {

  $typeid=" And arc.typeid in($typeid) And arc.id<>$arcid ";

  }

  $query="Select arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,

  tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath

  from `dedecp_archives` arc left join `dedecp_arctype` tp on arc.typeid=tp.id

  where arc.arcrank>-1 and ($keyword) $typeid $orderquery limit 0, $row";

  }

  else

  {

  if(!empty($typeid)) {

  $typeid=" arc.typeid in($typeid) And arc.id<>$arcid ";

  }

  $query="Select arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,

  tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath

  from `dedecp_archives` arc left join `dedecp_arctype` tp on arc.typeid=tp.id

  where arc.arcrank>-1 and $typeid $orderquery limit 0, $row";

  }

  }

  }

  $innertext=trim( $ctag->GetInnerText() );

  if($innertext=='') $innertext=GetSysTemplets('part_arclist.htm');

  $dsql->SetQuery($query);

  $dsql->Execute('al');

  $artlist='';

  if($col > 1) {

  $artlist="

\r\n";

  }

  $dtp2=new DedeTagParse();

  $dtp2->SetNameSpace('field', '[', ']');

  $dtp2->LoadString($innertext);

  $GLOBALS['autoindex']=0;

  $line=$row;

  for($i=0; $i < $line; $i++)

  {

  if($col>1) $artlist .="

\r\n";

  for($j=0; $j < $col; $j++)

  {

  if($col>1) $artlist .="

\r\n";

  }

  //Loop Col

  if($col>1) $i +=$col - 1;

  if($col>1) $artlist .="

\r\n";

  }

  //loop line

  if($col>1) $artlist .="

\r\n";

  if($row=$dsql->GetArray("al"))

  {

  $ids[]=$row['id']; dedecms.com

  //处理一些特殊字段

  $row['info']=$row['infos']=cn_substr($row['description'],$infolen);

  $row['id']= $row['id'];

  if($row['corank'] > 0 && $row['arcrank']==0)

  {

  $row['arcrank']=$row['corank'];

  }

  $row['filename']=$row['arcurl']=GetFileUrl($row['id'],$row['typeid'],$row['senddate'],$row['title'],$row['ismake'],

  $row['arcrank'],$row['namerule'],$row['typedir'],$row['money'],$row['filename'],$row['moresite'],$row['siteurl'],$row['sitepath']);

  $row['typeurl']=GetTypeUrl($row['typeid'],$row['typedir'],$row['isdefault'],$row['defaultname'],$row['ispart'],

  $row['namerule2'],$row['moresite'],$row['siteurl'],$row['sitepath']);

  if($row['litpic']=='-' || $row['litpic']=='')

  {

  $row['litpic']=$GLOBALS['cfg_cmspath'].'/images/defaultpic.gif';

  }

  if(!eregi("^http://",$row['litpic']) && $GLOBALS['cfg_multi_site']=='Y')

  {

  $row['litpic']=$GLOBALS['cfg_mainsite'].$row['litpic'];

  }

  $row['picname']=$row['litpic'];

  $row['stime']=GetDateMK($row['pubdate']);

  $row['typelink']="".$row['typename']."";

  $row['image']="".ereg_replace("[<]","",$row['title'])."'>";

  $row['imglink']="".$row['image'].""; 织梦好,好织梦

  $row['fulltitle']=$row['title'];

  $row['title']=cn_substr($row['title'],$titlelen);

  if($row['color']!='') $row['title']="".$row['title']."";

  if(ereg('b',$row['flag'])) $row['title']="".$row['title']."";

  $row['textlink']="".$row['title']."";

  $row['plusurl']=$row['phpurl']=$GLOBALS['cfg_phpurl'];

  $row['memberurl']=$GLOBALS['cfg_memberurl'];

  $row['templeturl']=$GLOBALS['cfg_templeturl'];

  if(is_array($dtp2->CTags))

  {

  foreach($dtp2->CTags as $k=>$ctag)

  {

  if($ctag->GetName()=='array') {

  $dtp2->Assign($k,$row);

  }

  else {

  if(isset($row[$ctag->GetName()])) $dtp2->Assign($k,$row[$ctag->GetName()]);

  else $dtp2->Assign($k,'');

  }

  }

  $GLOBALS['autoindex']++;

  }

  $artlist .=$dtp2->GetResult()."\r\n";

  }

  //if hasRow

  else

  {

  $artlist .='';

  }

  if($col>1) $artlist .="

\r\n";

  $dsql->FreeResult("al");

  return $artlist;

  }

  ?>

  1.用于5.6、5.7的任何版本

  2.可以单用tag来调用相关文章,也可用tag+keyword来调用相关文章(默认tag优先于keyword,可以自己排序),***适合SEO,经测试效果极佳。



时间:(2024-02-06 14:18:22)
本站资源均来自互联网或会员发布,如果不小心侵犯了您的权益请与我们联系。我们将立即删除!谢谢!