本文将介绍织梦CMS让新闻页Keywords自动网站优化内部链接的详细情况,特别是关于织梦专题页模板的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于
本文将介绍织梦CMS让新闻页Keywords自动网站优化内部链接的详细情况,特别是关于织梦专题页模板的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于DedeCms5.6发布新闻时自动加上Keywords链接、DedeCms5.6新闻页Keywords自动添加超链接的教程、dedecms5.7织梦源码新闻内容详细页怎么调用Keywords增加链接、DedeCms实现新闻页自动调用tagKeywords的办法的知识。
本文目录一览:- 织梦CMS让新闻页Keywords自动网站优化内部链接(织梦专题页模板)
- DedeCms5.6发布新闻时自动加上Keywords链接
- DedeCms5.6新闻页Keywords自动添加超链接的教程
- dedecms5.7织梦源码新闻内容详细页怎么调用Keywords增加链接
- DedeCms实现新闻页自动调用tagKeywords的办法
织梦CMS让新闻页Keywords自动网站优化内部链接(织梦专题页模板)
“关键词内部链接”,其实织梦DEDECMS之前考虑过这个问题的,但是有一些BUG。 织梦DEDECMS后台里面 核心->批量维护->文档关键词维护 其实这个当时设计出来的时候就是用来做内部链接的。
但是你总发觉得它不如何好用,总会出这样哪样的问题。但是我们只需要修改一部分代码就可以让织梦DEDECMS自动替换关键词了,并且只是文档中只要出现了的都完全替换。
打开 /include/arc.archives.class.php 文件,在修改*后的两个办法,按下面的办法进行修改。
主要修改了ReplaceKeyword里面查询关键词的时候排序的算法,然后注释了一个判断
/** * 高亮问题修正, 排除alt title <a></a>直接的字符替换 * * @param string $kw * @param string $body * @return string */ function ReplaceKeyword($kw,&$body) { global $cfg_cmspath; $maxkey = 5; $kws = explode(",",trim($kw)); //以分好为间隔符 $i=0; $karr = $kaarr = $GLOBALS['replaced'] = array(); //暂时屏蔽超链接 $body = preg_replace("#(<a(.*))(>)(.*)(<)(\/a>)#isU", '\\1-]-\\4-[-\\6', $body); /* foreach($kws as $k) { $k = trim($k); if($k!="") { if($i > $maxkey) { break; } $myrow = $this->dsql->GetOne("SELECT * FROM idea_keywords WHERE keyword='$k' AND rpurl<>'' "); if(is_array($myrow)) { $karr[] = $k; $GLOBALS['replaced'][$k] = 0; $kaarr[] = "<a href='{$myrow['rpurl']}'><u>$k</u></a>"; } $i++; } } */ $query = "SELECT * FROM idea_keywords WHERE rpurl<>'' ORDER BY keyword DESC"; $this->dsql->SetQuery($query); $this->dsql->Execute(); while($row = $this->dsql->GetArray()) { $key = trim($row['keyword']); $key_url=trim($row['rpurl']); $karr[] = $key; $kaarr[] = "<a href='$key_url' target='_blank'><u>$key</u></a>"; } // 这里可能会有错误 $body = @preg_replace("#(^|>)([^<]+)(?=<|$)#sUe", "_highlight('\\2', \$karr, \$kaarr, '\\1')", $body); //恢复超链接 $body = preg_replace("#(<a(.*))-\]-(.*)-\[-(\/a>)#isU", '\\1>\\3<\\4', $body); return $body; } }//End Archives //高亮专用, 替换多次是可能不能达到*多次 function _highlight($string, $words, $result, $pre) { global $cfg_replace_num; $string = str_replace('\"', '"', $string); // if($cfg_replace_num > 0) // { // foreach ($words as $key => $word) // { // if($GLOBALS['replaced'][$word] == 1) // { // continue; // } // $string = preg_replace("#".preg_quote($word)."#", $result[$key], $string, $cfg_replace_num); // if(strpos($string, $word) !== FALSE) // { // $GLOBALS['replaced'][$word] = 1; // } // } // } // else // { $string = str_replace($words, $result, $string); // } return $pre.$string; }
本文章网址:http://www.ppssdd.com/code/11621.html。转载请保留出处,谢谢合作!
DedeCms5.6发布新闻时自动加上Keywords链接
织梦内容管理系统DedeCms v5.6发布新闻时,怎么自动加上Keywords链接,请看下边的办法:
修改文件 /include/arc.archives.class.php ,找到这一段:
Copy to ClipboardLiehuo.Net Codes引用的内容:[]
foreach($kws as $k)
{
$k = trim($k);
if($k!=”")
{
if($i > $maxkey)
{
break;
}
$myrow = $this->dsql->GetOne(“select * from dede_keywords where keyword=’$k’ And rpurl<>” “);
if(is_array($myrow))
{
$karr[] = $k;
$GLOBALS['replaced'][$k] = 0;
$kaarr[] = “<a href=’{$myrow['rpurl']}’><u>$k</u></a>”;
}
$i++;
}
}
把它替换成:
Copy to ClipboardLiehuo.Net Codes引用的内容:[]
global $dsql;
$query="SELECT * FROM dede_keywords WHERE rpurl<>'' ORDER BY rank DESC";
$dsql->SetQuery($query);
$dsql->Execute();
while($row = $dsql->GetArray())
{
$key = trim($row['keyword']);
$key_url=trim($row['rpurl']);
$karr[] = $key;
$kaarr[] = "<a href='$key_url' target='_blank'><u>$key</u></a>";
}
通过以上代码,只要在“文档Keywords维护”设置了带有链接的Keywords,就可以实现在发布新闻时自动就有会链接了
注意:dede_keywords 要替换成自己的
还有这里WHERE rpurl<>'' 为两个单引号
DedeCms5.6新闻页Keywords自动添加超链接的教程
DedeCms5.6新闻页Keywords自动添加超链接的教程
需要以下设置:
1、后台-采集-文档Keywords维护 添加Keywords及链接
2、后台-系统-核心设置 关键词替换(是/否)使用本功能会影响HTML生成速度: 是
3、后台-系统-其他选项 文档内容同一Keywords替换次数(0为全部替换): 设置一个数值 (这里顺便提一下,比如一篇新闻含有互相包含Keywords,比如dede和dedecms,系统会把后面的dedecms会被dede替代,我的做法是,Keywords替换次数设置为1次,然后文档Keywords维护那里把dede和dedecms的频率设置成一样,就搞定了。)
修改文件:/include/arc.archives.class.php 查找以下代码:
Copy to Clipboard引用的内容:[]
foreach( $kws as $k) { $k = trim( $k); if( $k!=''") { if( $i > $maxkey) { break; } $myrow = $this->dsql->GetOne("select * from dede_keywords where keyword=' $k' And rpurl<>'' "); if(is_array( $myrow)) { $karr[] = $k; $GLOBALS['replaced'][ $k] = 0; $kaarr[] = " $k"; } $i++; } }
将以上代码替换为以下代码:
Copy to ClipboardLiehuo.Net Codes引用的内容:[]
global $dsql;
$query="SELECT * FROM dede_keywords WHERE rpurl<>'' ORDER BY rank DESC";
$dsql->SetQuery( $query);
$dsql->Execute();
while( $row = $dsql->GetArray())
{
$key = trim( $row['keyword']);
$key_url=trim( $row['rpurl']);
$karr[] = $key;
$kaarr[] = "<a href='$key_url' target='_blank'><u> $key</u></a>";
}
dedecms5.7织梦源码新闻内容详细页怎么调用Keywords增加链接
dedecms5.7新闻内容详细页调用Keywords增加链接的办法{dede:field name='keywords' runphp='yes' } if(!empty(@me)) { $kws = explode(',',@me); @me = ""; foreach($kws as $k) { @me .= "<a href='/plus/search.php?keyword=".urlencode($k)."' target=_blank ><h2>$k</h2></a> "; } @me= str_replace(' ', ' ',trim(@me)); } {/dede:field}
本文章网址:http://www.ppssdd.com/code/8692.html。转载请保留出处,谢谢合作!
DedeCms实现新闻页自动调用tagKeywords的办法
DedeCms怎么实现新闻页自动调用tagKeywords?答:我们只需要对源码文件进行简单的修改即可调用。
1、打开新闻页源码文件templets/default/article_article.htm
2、把下面这段代码插入到合适的位置,一般插入在正文{dede:field.body/}标签下面。自己可以定义CSS显示标签样式。
新闻相关标签:{dede:tag row=’8′ sort=’week’}<a href=http://www.dede58.com/a/dedejq/’[field:link/]‘ target=”_blank”>[field:tag /]</a>{/dede:tag}
然后再更新所有新闻即可显示。
tag|TAG调用
标签名称:tag
功能说明:TAG调用标签
适用范围:全局使用
基本语法:
{dede:tag sort=’new’ getall=’0′}<a href=http://www.dede58.com/a/dedejq/’[field:link/]‘>[field:tag /]</a>{/dede:tag}相关函数:
文件\include\taglib\tag.lib.php第4行
function lib_tag(&$ctag,&$refObj)
参数说明:
row=’30′ 调用条数
sort=’new’ 排序方式 month,rand,week
getall=’0′ 获取类型 0 为当前内容详细页TAG标记,1为获取全部TAG标记
今天关于织梦CMS让新闻页Keywords自动网站优化内部链接和织梦专题页模板的讲解已经结束,谢谢您的阅读,如果想了解更多关于DedeCms5.6发布新闻时自动加上Keywords链接、DedeCms5.6新闻页Keywords自动添加超链接的教程、dedecms5.7织梦源码新闻内容详细页怎么调用Keywords增加链接、DedeCms实现新闻页自动调用tagKeywords的办法的相关知识,请在本站搜索。
本文标签: