dedecmsHow to call related articles with the dreamweaver tag keyword?
DEDE's official dede:likearticle uses keywords entered in the article or keywords formed by automatic word segmentation to associate articles. However, sometimes the automatically generated keywords are not accurate, resulting in inaccurate association. , here we customize a class library file to accurately obtain related articles
Recommended learning: 梦Weavercms
You can use tags alone to call related articles, or Tag keyword can be used to call related articles (default tag takes precedence over keyword, you can sort by yourself)
Add a liketags.lib.php under \include\taglib\ and the code is as follows
<?php if(!defined('DEDEINC')) exit('Request Error!'); function lib_liketags(&$ctag,&$refObj) { global $dsql; //属性处理 $attlist="row|12,titlelen|30,infolen|250,col|1,tablewidth|100,mytypeid|0,byabs|0,imgwidth|1,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($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 = " 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!='') { 061 $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']; } } } 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 `dede_archives` arc left join `dede_arctype` tp on arc.typeid=tp.id 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 from `dede_archives` arc left join `dede_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 `dede_archives` arc left join `dede_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 = "<table width='$tablewidth' border='0' cellspacing='0' cellpadding='0'>\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 .= "<tr>\r\n"; for($j=0; $j < $col; $j++) { if($col>1) $artlist .= " <td width='$colWidth'>\r\n"; 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['namerule'],$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="/static/imghwm/default1.png" data-src="[field:litpic/]" class="lazy" src='".$row['picname']."' border='' style="max-width:90%".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()."\r\n"; } //if hasRow else { $artlist .= ''; } if($col>1) $artlist .= " </td>\r\n"; } //Loop Col if($col>1) $i += $col - 1; if($col>1) $artlist .= " </tr>\r\n"; } //loop line if($col>1) $artlist .= " </table>\r\n"; $dsql->FreeResult("al"); return $artlist; }
Front-end template call
{dede:liketags row='3' mytypeid='6' eregtype='all|tag|keyword' titlelen='250' infolen='250'} <li> <a href="[field:arcurl/]" title="[field:title/]" target="_blank"> <div class="list-img"> <img src="/static/imghwm/default1.png" data-src="[field:litpic/]" class="lazy" alt="[field:title/]"/> </div> <div class="list-info"> <p class="title">[field:title/]</p> <p class="meta">[field:description /]</p> </div> </a> </li> {/dede:liketags}
The above is the detailed content of Related articles on how to call dedecms dreamweaver tag keyword. For more information, please follow other related articles on the PHP Chinese website!

dedecms增加多语言的方法:1、进入dedecms后台,创建封面栏目;2、将封面栏目“常规选项”的文件保存目录设置为cn或者en;3、将封面栏目“高级选项”的列表模板设置为“cn_index.htm”或者“en_index.htm”;4、单独调用每种语言的封面栏目和每种语言下的导航栏目即可。

织梦cms是用PHP语言写的。织梦CMS(DedeCMS)是一个PHP开源网站管理系统,作用是构建中小型网站;它采用PHP+MySQL技术开发,可同时使用于windows、linux、unix平台。

dedecms是PHP语言开发的;dedecms中文全称是织梦内容管理系统,是一个PHP开源网站管理系统;dedecms基于PHP和MySQL技术开发,可同时使用于Windows、Linux、Unix平台。

dedecms删除栏目的方法:1、登录后台管理;2、进入“栏目管理”,可以看到当前网站所有栏目;3、选择要删除的栏目;4、将鼠标悬停在栏目名称上,删除栏目;5、点击“确认”按钮以继续删除操作;6、删除成功。

织梦内容管理系统(DedeCMS) 以简单、实用、开源而闻名,是国内最知名的PHP开源网站管理系统,也是使用用户最多的PHP类CMS系统,在经历多年的发展,目前的版本无论在功能,还是在易用性方面,都有了长足的发展和进步。

火车头dedecms出现乱码解决方法:1、检查数据库编码;2、修改dedecms配置文件;3、检查浏览器编码设置;4、清理缓存和临时文件;5、寻求专业帮助。

dedecms是指织梦内容管理系统,是一个PHP开源网站管理系统,用于个人网站或中小型门户的构建;dedecms是基于PHP和MySQL技术开发,可同时使用于Windows、Linux、Unix平台。

dedecms无法修改的解决方法是:1、检查文件夹和文件的读写权限是否正确;2、使用最新版本的DedeCMS,并保持数据库、插件和主题等组件的版本与CMS核心匹配;3、添加了不兼容的插件或主题,导致DedeCMS无法正常工作;4、检查PHP日志和调试信息以找出问题并解决。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

Atom editor mac version download
The most popular open source editor
