最新公告
  • 欢迎您光临牛气网,本站秉承“用心服务,做好服务”致力为站长提供优质的售后服务!立即加入我们
  • dedecms织梦tag+keyword调用相关文章

    官方的dede:likearticle并没有那么精准的输出相关文章,下面我们自定义一个类库文件来实现精准获取相关文章

    单用tag来调用相关文章,也可用tag+keyword来调用相关文章(默认tag优先于keyword,可以自己排序)非常适合SEO

    在\\include\\taglib\\下添加一个liketags.lib.php代码如下

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    48

    49

    50

    51

    52

    53

    54

    55

    56

    57

    牛气

    59

    60

    61

    62

    63

    64

    65

    66

    67

    68

    69

    70

    71

    72

    73

    74

    75

    76

    77

    78

    79

    80

    81

    82

    83

    84

    85

    86

    87

    88

    89

    90

    91

    92

    93

    94

    95

    96

    97

    98

    99

    100

    101

    102

    103

    104

    105

    106

    107

    108

    109

    110

    111

    112

    113

    114

    115

    116

    117

    118

    119

    120

    121

    122

    123

    124

    125

    126

    127

    128

    129

    130

    131

    132

    133

    134

    135

    136

    137

    138

    139

    140

    141

    142

    143

    144

    145

    146

    147

    148

    149

    150

    151

    152

    153

    154

    155

    156

    157

    1牛气

    159

    160

    161

    162

    163

    164

    165

    166

    167

    168

    169

    170

    171

    172

    173

    174

    175

    176

    177

    178

    179

    180

    181

    182

    183

    184

    185

    186

    187

    188

    189

    190

    191

    192

    193

    194

    195

    196

    197

    198

    199

    200

    201

    202

    203

    204

    205

    206

    207

    208

    209

    210

    211

    212

    213

    214

    215

    216

    217

    218

    219

    220

    221

    222

    223

    224

    225

    226

    227

    228

    <?phpif(!defined('DEDEINC'))exit('RequestError!');functionlib_liketags(&$ctag,&$refObj){

    global$dsql;

    //属性处理

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

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

    $tablewidth=$tablewidth."%";

    $colWidth=$colWidth."%";

    $orwheres='';

    if($flag!=''){

    $flags=explode(',',$flag);

    for($i=0;isset($flags[$i]);$i++)$orwheres.="ANDFIND_IN_SET('{$flags[$i]}',arc.flag)>0";

    }

    $ids=array();

    $tids=array();

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

    $keyword=$refObj->Fields['tags'];

    }

    else{

    $keyword=(!empty($refObj->Fields['keywords'])?$refObj->Fields['keywords']:'');

    }

    $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)&&!preg_match('#,#',$typeid)){

    $typeid=GetSonIds($typeid);

    }

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

    {

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

    $getsql="taglike'".join("'ORtaglike'",$tags)."'";

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

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

    {

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

    }

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

    if($tid!='')

    {

    $dsql->Execute("me","SelectaidFrom`dede_taglist`wheretidin($tid)Andarcrank>-1groupbyaidorderbyaiddesc");

    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="Andarc.typeidin($typeid)Andarc.id<>$arcid";

    }

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

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

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

    from`dede_archives`arcleftjoin`dede_arctype`tponarc.typeid=tp.id

    wherearc.idin($idsStr)$typeidorderbyarc.iddesclimit0,$row";

    }

    else

    {

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

    $keyword='';

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

    {

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

    $keyword='';

    $n=1;

    foreach($keywordsas$k)

    {

    if($n>3)break;

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

    else$k=addslashes($k);

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

    $n++;

    }

    }

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

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

    {

    $orderquery="orderbyarc.iddesc";

    }

    else

    {

    $orderquery="orderbyABS(arc.id-".$arcid.")";

    }

    if($keyword!='')

    {

    if(!empty($typeid))

    {

    $typeid="Andarc.typeidin($typeid)Andarc.id<>$arcid";

    }

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

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

    from`dede_archives`arcleftjoin`dede_arctype`tponarc.typeid=tp.id

    wherearc.arcrank>-1and($keyword)$typeid$orderquerylimit0,$row";

    }

    else

    {

    if(!empty($typeid))

    {

    $typeid="arc.typeidin($typeid)Andarc.id<>$arcid";

    }

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

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

    from`dede_archives`arcleftjoin`dede_arctype`tponarc.typeid=tp.id

    wherearc.arcrank>-1and$typeid$orderquerylimit0,$row";

    }

    }

    }

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

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

    $dsql->SetQuery($query);

    $dsql->Execute('al');

    $artlist='';

    if($col>1){

    $artlist="<tablewidth='$tablewidth'border='0'cellspacing='0'cellpadding='0'>\\r\\n";

    }

    $dtp2=newDedeTagParse();

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

    $dtp2->LoadString($innertext);

    $GLOBALS['autoindex']=0;

    $line=$row;

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

    {

    if($col>1)$artlist.="<tr>\\r\\n";

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

    {

    if($col>1)$artlist.="<tdwidth='$colWidth'>\\r\\n";

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

    {

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

    //处理一些特殊字段www.niuqi.net织梦模板

    $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(!preg_match("#^http:\\/\\/#i",$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']="<ahref='".$row['typeurl']."'>".$row['typename']."</a>";

    $row['image']="<imgsrc='".$row['picname']."'border='0'width='$imgwidth'height='$imgheight'alt='".preg_replace("#['><]#","",$row['title'])."'>";

    $row['imglink']="<ahref='".$row['filename']."'>".$row['image']."</a>";

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

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

    if($row['color']!='')$row['title']="<fontcolor='".$row['color']."'>".$row['title']."</font>";

    if(preg_match('#b#',$row['flag']))$row['title']="<strong>".$row['title']."</strong>";

    $row['textlink']="<ahref='".$row['filename']."'>".$row['title']."</a>";

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

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

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

    if(is_array($dtp2->CTags))

    {

    foreach($dtp2->CTagsas$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";

    }

    //ifhasRow

    else

    {

    $artlist.='';

    }

    if($col>1)$artlist.="</td>\\r\\n";

    }

    //LoopCol

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

    if($col>1)$artlist.="</tr>\\r\\n";

    }

    //loopline

    if($col>1)$artlist.="</table>\\r\\n";

    $dsql->FreeResult("al");

    return$artlist;}

    前台模板调用

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    {dede:liketagsrow='3'mytypeid='6'eregtype='all|tag|keyword'titlelen='250'infolen='250'}

    <li>

    <ahref="[field:arcurl/]"title="[field:title/]"target="_blank">

    <div>

    <imgsrc="[field:litpic/]"alt="[field:title/]"/>

    </div>

    <div>

    <p>[field:title/]</p>

    <p>[field:description/]</p>

    </div>

    </a>

    </li>

    {/dede:liketags}

    1、本站所有资源皆来源于网络和用户自行上传,因此不包括售后和技术,敬请谅解!
    2、本站不保证所提供的源码的准确性、安全性和功能完善性,资源仅用于学习用!
    3、您下载的资源,请务必在24小时内删除,资源仅提供本地测试,请勿商用或者非法用途都与本站无关,一切后果自负!
    4、如发现资源下载不了,或者侵权请及时联系客服或者邮箱admin#niuqi.net,#改为@!
    牛气网 » dedecms织梦tag+keyword调用相关文章

    发表评论

    售后服务:

    • 售后服务范围 1、商业模板使用范围内问题免费咨询
      2、源码安装、模板安装(一般 ¥50-300)服务答疑仅限SVIP用户
      3、单价超过200元的模板免费一次安装,需提供服务器信息。
      付费增值服务 1、提供dedecms模板、WordPress主题、discuz模板优化等服务请详询在线客服
      2、承接 WordPress、DedeCMS、Discuz 等系统建站、仿站、开发、定制等服务
      3、服务器环境配置(一般 ¥50-300)
      4、网站中毒处理(需额外付费,500元/次/质保三个月)
      售后服务时间 周一至周日(法定节假日除外) 9:00-23:00
      免责声明 本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: admin@niuqi.net),我们会及时删除,给您带来的不便,我们深表歉意!

    Hi, 如果你对这款模板有疑问,可以跟我联系哦!

    联系作者

    发表评论

    售后服务:

    • 售后服务范围 1、商业模板使用范围内问题免费咨询
      2、源码安装、模板安装(一般 ¥50-300)服务答疑仅限SVIP用户
      3、单价超过200元的模板免费一次安装,需提供服务器信息。
      付费增值服务 1、提供dedecms模板、WordPress主题、discuz模板优化等服务请详询在线客服
      2、承接 WordPress、DedeCMS、Discuz 等系统建站、仿站、开发、定制等服务
      3、服务器环境配置(一般 ¥50-300)
      4、网站中毒处理(需额外付费,500元/次/质保三个月)
      售后服务时间 周一至周日(法定节假日除外) 9:00-23:00
      免责声明 本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: admin@niuqi.net),我们会及时删除,给您带来的不便,我们深表歉意!

    Hi, 如果你对这款模板有疑问,可以跟我联系哦!

    联系作者
    • 62会员总数(位)
    • 3414资源总数(个)
    • 1879本月发布(个)
    • 66 今日发布(个)
    • 375已陪伴您(天)

    牛气网NIUQI.NET站长源码平台

    开通SVIP会员 了解详情
    升级SVIP尊享更多特权立即升级