精品国产免费观看久久久_久久天天躁狠狠躁夜夜爽_无码人妻少妇久久中文字幕_狠狠做深爱婷婷久久综合一区

互聯網知識

精準傳達 ? 價值共享

洞悉互聯網前沿資訊,探尋網站營銷規律

查看其它板塊

織夢文章tag標簽或者文章keyword關鍵字調用相關文章

作者:狐靈科技 | 2020-03-16 19:21 |點擊:

之前寫過一篇文章《DEDECMS織夢欄目和內容頁調用相關文章

今天在記錄一篇織夢文章tag標簽或者文章keyword關鍵字調用相關文章 


摘要:官方的dede:likearticle并沒有那么精準的輸出相關文章,下面我們自定義一個類庫文件來實現精準獲取相關文章 單用tag來調用相關文章,也可用tag+keyword來調用相關文章(默認tag優先于keyword,可以自己排序)非常適合SEO

官方的dede:likearticle并沒有那么精準的輸出相關文章,下面我們自定義一個類庫文件來實現精準獲取相關文章,支持直接輸出自定義字段,支持flag文章屬性,非常適合SEO

eregtype='all|tag|keyword',單用tag來調用相關文章,也可用tag|keyword來調用相關文章(默認tag優先于keyword,可以自己排序)

在 /include/taglib 下添加一個 liketags.lib.php 文件代碼如下

<?php
if(!defined('DEDEINC')) exit('Request Error!');
function lib_liketags(&$ctag,&$refObj)
{
    global $dsql,$envs;
    
    //屬性處理
    $attlist="row|12,titlelen|30,infolen|250,col|1,tablewidth|100,typeid|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 .= " AND FIND_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($typeid) ? $typeid : 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 = " tag like '".join("' OR tag like '", $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", "Select aid From `dede_taglist` where tid in($tid) And arcrank > -1 group by aid order by aid desc");
			while($arow = $dsql->GetArray("me"))
			{
				$ids[] = $arow['aid'];
				$arcid =  $refObj->Fields['aid'];
			}
		} 
	}
	
	//獲得附加表的相關信息
	$addField = "";
	$addJoin = "";
	if(is_object($refObj->ChannelUnit))
	{
		$addtable  = $refObj->ChannelUnit->ChannelInfos['addtable'];
		if($addtable!="")
		{
			$addJoin = " LEFT JOIN $addtable ON arc.id = ".$addtable.".aid ";
			$addField = "";
			$fields = explode(",",$refObj->ChannelUnit->ChannelInfos['listfields']);
			foreach($fields as $k=>$v)
			{
				$nfields[$v] = $k;
			}
			foreach($refObj->ChannelUnit->ChannelFields as $k=>$arr)
			{
				if(isset($nfields[$k]))
				{
					if(!empty($arr['rename']))
					{
						$addField .= ",".$addtable.".".$k." as ".$arr['rename'];
					}
					else
					{
						$addField .= ",".$addtable.".".$k;
					}
				}
			}
		}
	}

	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 $addField 
			from `dede_archives` arc left join `dede_arctype` tp on arc.typeid=tp.id $addJoin 
			where arc.arcrank>-1 and arc.id in($idsStr) $typeid order by arc.id desc limit 0, $row";
		}
		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 $addField 
				from `dede_archives` arc left join `dede_arctype` tp on arc.typeid=tp.id $addJoin 
				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 $addField 
				from `dede_archives` arc left join `dede_arctype` tp on arc.typeid=tp.id $addJoin 
				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 = "<table width='$tablewidth' border='0' cellspacing='0' cellpadding='0'>";
    }
    $dtp2 = new DedeTagParse();
    $dtp2->SetNameSpace('field', '[', ']');
    $dtp2->LoadString($innertext);
    $GLOBALS['autoindex'] = 0;
    $line = $row;
    for($i=0; $i < $line; $i++)
    {
        if($col>1) $artlist .= "<tr>";
        for($j=0; $j < $col; $j++)
        {
            if($col>1) $artlist .= "    <td width='$colWidth'>";
            if($row = $dsql->GetArray("al"))
            {
                $ids[] = $row['id'];
                //處理一些特殊字段
                $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'] = "<a href='".$row['typeurl']."'>".$row['typename']."</a>";
                $row['image'] = "<img src='".$row['picname']."' border='0' width='$imgwidth' height='$imgheight' alt='".preg_replace("#['><]#","",$row['title'])."'>";
                $row['imglink'] = "<a href='".$row['filename']."'>".$row['image']."</a>";
                $row['fulltitle'] = $row['title'];
                $row['title'] = cn_substr($row['title'], $titlelen);
                if($row['color']!='') $row['title'] = "<font color='".$row['color']."'>".$row['title']."</font>";
                if(preg_match('#b#', $row['flag'])) $row['title'] = "<strong>".$row['title']."</strong>";
                $row['textlink'] = "<a href='".$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->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();
            }
            //if hasRow
            else
            {
                $artlist .= '';
            }
            if($col>1) $artlist .= "    </td>";
        }
        //Loop Col
        if($col>1) $i += $col - 1;
        if($col>1) $artlist .= "    </tr>";
    }
    //loop line
    if($col>1) $artlist .= "    </table>";
    $dsql->FreeResult("al");
    return $artlist;
}

 

前臺模板標簽調用寫法

{dede:liketags row='3' typeid='6' titlelen='250' eregtype='all|tag|keyword' flag='c' infolen='250'}
<li>
	<a href="[field:arcurl/]" title="[field:title/]" target="_blank">
		<div class="list-img">
			<img src="[field:litpic/]" alt="[field:title/]"/>
		</div>
		<div class="list-info">
			<p class="title">[field:title/]</p>
			<p class="meta">¥[field:jiage /]元</p>
		</div>
	</a>
</li>
{/dede:liketags}

typeid='6' 可指定欄目

flag='c' 可指定文章屬性調用,例如 推薦[c] 頭條[h]

¥[field:jiage /]元 自定義字段直接寫即可,不需要像dede:arclist那樣加channelid='' addfields=''


如沒特殊注明,文章均為狐靈科技原創,轉載請注明?? "織夢文章tag標簽或者文章keyword關鍵字調用相關文章
多一份免費策劃方案,總有益處。

請直接添加技術總監微信聯系咨詢

網站設計 品牌營銷

多一份參考,總有益處

聯系狐靈科技,免費獲得專屬《策劃方案》及報價

咨詢相關問題或預約面談,可以通過以下方式與我們聯系

業務熱線:15082661954 / 大客戶專線:15523356218

欧美精品VIDEOSSEX少妇| 好男人电影在线观看| AV天堂永久资源网| 久久人人做人人妻人人玩精品HD | 人妻少妇久久中文字幕| 18禁黄网站男男禁片免费观看 | 欧美日韩一区精品视频一区二区| 一二三四免费BD高清视频| 久久精品国产蜜桃AV麻豆| 亚洲人妻无码一区二区| 久久久精品456亚洲影院| 亚洲色成人网一二三区| 日韩精品久久久久久久电影蜜臀| 催眠~凌~辱~学园 在线观看| 少妇人妻AV无码专区| 国产精品丝袜高跟鞋| 亚洲第一综合天堂另类专| 久久久国产成人精品蜜臀AⅤ | 93久久精品日日躁夜夜躁欧美| 欧美人交A欧美精品AV一区| 啊灬啊灬啊灬快灬高潮了老 | 人妻少妇AV无码一区二区| 久久99精品久久久久久HB无码| 在线中文新版最新版在线| 邻居少妇张开双腿让我爽一夜| 97久久婷婷五月综合色D啪蜜芽 | 日本精品VIDEOSSE×少妇| 公与2个熄乱理在线播放| 亚欧美日乱码视频在线观看| 久精品夜色国产亚洲AV| 在厨房我撕开岳的丁字裤| 欧美性黑人极品HD另类| 九九精品无码专区免费| 国产精品无码A∨果冻传媒| 啊轻点灬大JI巴太粗太长了欧美| 夜色毛片永久免费| 欧美人与动交视频播放| 久久精品熟女亚洲AV麻豆| 国产色无码精品视频国产| 艳妇乳肉豪妇荡乳AV| 欧美高清FREEXXXX性| 九妹免费观看完整版| 国产熟睡乱子伦视频| 国产999精品2卡3卡4卡| 宝贝乖女你的奶真大水真多小说| 无遮挡亲胸捏胸免费视频| 久久国产中文娱乐网| 国产日产欧产美韩系列麻豆| 在线亚洲97SE亚洲综合在线| 亚洲国产精品久久久久婷蜜芽| 男人吃奶摸下挵进去好爽在线观看| 成年女人免费碰碰视频| 小宝贝荡货啊用力水湿AⅤ视频 | 特大荫唇XX另类| 极品熟妇大蝴蝶20P| 52秋霞东北熟女叫床| 图片区小说区激情区偷拍区| 久久777国产线看观看精品| 国产伦精品一区二区三区免费 | 亚洲AV中文AⅤ无码AV浪潮| 妺妺晚上扒我内裤吃我精子| 公交车上摸到花蒂进去了视频| 亚洲国产AV无码专区亚洲AVL| 神里凌华被焯出白水视频| 久久精品国产精品亚洲蜜月 | 好男人电影在线观看| 国产香蕉97碰碰视频VA碰碰看| 18禁勿入免费网站入口不卡| 一区二区三区无码AV不卡| 亚洲最大av在线| 野花影视免费观看高清| 夜夜高潮夜夜爽夜夜爱爱| 亚洲中文欧美在线视频| 色偷偷色噜噜狠狠成人免费视频| 久久精品99久久香蕉国产| 极品人妻被黑人中出种子| 精东视频影视传媒制作| 精品日产卡一卡二卡927| 丁香婷婷激情综合俺也去| 亚洲一区二区三区在线观看网站| 日本VA视频免费在线观看| 精品日产一卡2卡三卡4卡自拍| 韩日午夜在线资源一区二区| 国精产品一二三区传媒公司| JIZZJIZZ国产在线观看| 亚洲插肏熟女人妇的屄网址 | 欧美最爽的乱婬视频婬色视频| 国产亚洲日韩欧美另类丝瓜APP| 2022久久国产精品免费热麻豆| 有人有在线观看的片吗WWW| 午夜.DJ高清在线播放视频| 无码H肉男男在线观看免费| 欧美金妇欧美乱妇XXXX| 欧美人与禽XOXO牲伦交| 欧美最婬乱婬爆婬牲视| 日日噜噜夜夜狠狠视频| 免费无码又爽又刺激激情视频| 免费毛片45分钟| 精产国品一二三产品区别在哪| 狠狠躁夜夜躁人人爽天天不| 丰满圆润大胸在线| 1000部拍拍拍18勿入免费视频下载| 中文字幕人妻无码专区APP | 双腿高潮抽搐喷白浆视频| 男人进入女人里面想动还是不想动| 国产高清中文版HD中字| GAY国产GV又粗又长又大| 亚洲人成色7777在线观看不卡 | 欧洲Av无码放荡人妇网站| 日韩A无V码在线播放| 天天综合网天天综合色| 人妻人人澡人人添人人爽冫 一| 日本在线视频WWW色| 免费免APP看大片视频播放器 | 日日摸夜夜添夜夜添亚洲女人 | 天天做AV天天爱天天爽| 亚洲AV中文无码| 宅男噜噜噜66网站在线观看| 八区精品色欲人妻综合网| 真人新婚之夜破苞第一次视频 | 国产又黄又大又粗的视频| 久久99热这里只有精品国产 | 精品国产自在现线看久久| 国产AV旡码专区亚洲AV苍井空| YYYY111111少妇影院| 中文字幕人妻在线中字| 班主任掀开裙子让我桶的| 国产精品嫩草影院一二三区入口| 精品欧美黑人一区二区三区| 国产农村妇女毛片精品久久| 黑人巨根在线观看| 国产精品亚洲第一区焦香味| 波多野结衣乳巨码无在线| 97久久婷婷五月综合色D啪蜜芽 | 兰姨不敢发出一点声音怕吵醒风 | 国产2021在线传媒麻豆| 护士扒下内裤让我爽一夜| 男人边吃奶边做呻吟免费视频| 水蜜桃国产成人精品网站| 亚洲色婷婷一区二区三区| 亚洲精品成AV人片天堂无码| 小鲜肉洗澡时自慰网站XNXX | 国产★蜜臀AV无码8MAV| 精品人妻AV一区二区三区| 欧美日韩精品一区二区三区不卡| 忘忧草在线社区日本WWW| 日韩夜夜高潮夜夜爽无码| 亚洲AV美国AV产亚洲AV图片| 小妖精含牢了我喂饱你| 怡红院亚洲第一综合久久| 伊人久久久久熟女AV大片| 宝贝把腿抬高点我让你更爽漫画| 国产无套码AⅤ在线观看| 奶头从情趣内衣下露了出来AV | 手机在线观看AV片| 野花电影3在线观看免费| 各处沟厕大尺度偷拍女厕嘘嘘 | 国产剧情AV在线| 男女差差差差差打扑克视频| 无人区码一码二码三码网页| 无码人妻巨屁股系列大又挺拔 | 美女又黄又免费的视频| 蜜臀AV网站在线观看| 婷婷无套内射影院| 最新日本一道免费一区二区| AA区一区二区三无码精片| 国产区精品一区二区不卡中文 | 久久精品国产999久久久| 色一情一乱一伦一区二区三区小说 | 午夜天堂一区人妻| 秘密列车动漫在线观看| 男人吃奶摸下挵进去好爽| 人妻系列无码专区69影院| 激情97综合亚洲色婷婷五| 欧美另类视频在线观看| 玩稚嫩的小屁股眼AV| 涩爱亚洲色欲AV无码成人专区| 一本大道香蕉久97在线播放| 国产成人一区二区三区在线| 欧美操逼视频网站| 美女高潮潮喷出白浆视频| 男人GAY自慰吞精网站| 亚洲AV乱码久久精品密桃| 成人国产一区二区三区精品不卡| 久久久久精品国产亚洲AV麻豆 | 国产人与ZOXXXX另类| 欧美最猛性XXXXX(亚洲精品)| 亚洲一区在线观看XXX| 国产精品亚洲一区二区三区| 人人妻人人澡人人爽超污| 伊人久久精品无码AV一区| 好深好湿好硬顶到了好爽| 熟妇人妻无乱码中文字幕真矢织江| 2021国产手机在线精品| 精品久久人人妻人人做精品| 我跟闺蜜公交车被弄到高潮| 按摩师用嘴亲我下面过程| 男男野战爆了我的菊BL| 一边做饭一边躁狂怎么办| 激情内射人妻1区2区3区|