在本文中,我们将详细介绍如何修改织梦CMS新闻的Keywords和内容摘要的字数的各个方面,并为您提供关于织梦内容页模板修改的相关解答,同时,我们也将为您带来关于DedeCms5.6发布新闻时自动加上
在本文中,我们将详细介绍如何修改织梦CMS新闻的Keywords和内容摘要的字数的各个方面,并为您提供关于织梦内容页模板修改的相关解答,同时,我们也将为您带来关于DedeCms5.6发布新闻时自动加上Keywords链接、dedecms5.7织梦源码新闻内容详细页怎么调用Keywords增加链接、dedecmsKeywords维护里面字数多的词优先字数少的词的解决方案、DEDECMS使用Keywords关连新闻修改的问题正确解析的有用知识。
本文目录一览:- 如何修改织梦CMS新闻的Keywords和内容摘要的字数(织梦内容页模板修改)
- DedeCms5.6发布新闻时自动加上Keywords链接
- dedecms5.7织梦源码新闻内容详细页怎么调用Keywords增加链接
- dedecmsKeywords维护里面字数多的词优先字数少的词的解决方案
- DEDECMS使用Keywords关连新闻修改的问题正确解析
如何修改织梦CMS新闻的Keywords和内容摘要的字数(织梦内容页模板修改)
在我们用织梦建站的时候会发现DEDE默认的新闻关键词和摘要的字数不够长,需要加长。今天我把修改新闻关键词和摘要的整理了一下分享给大家,希望对更多的朋友有用。
one步:
进入phpmyadmin(DataBase),查看dede_archives表,默认的关键词与摘要字段是:
keywords char(30) description varchar(255)
修改数数据库表acttype中的keywords的类型为varchar 长度为255,修改数字自定,该数字除以2就是汉字的个数。
第二步:
修改文件后台管理目录中2个文件:article_add.php 与 article_edit.php,分别搜索:
代码
$keywords = cn_substrR($keywords,60);
将数字改成想要的数字。
第三步:
修改后台管理目录中文件/inc/inc_archives_functions.php,搜索代码
if(strlen($keywords.$k)>=60
将数字改成想要的数字。
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.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。转载请保留出处,谢谢合作!
dedecmsKeywords维护里面字数多的词优先字数少的词的解决方案
织梦后台的Keywords维护默认的情况是字数少的词优先于字数多的词,比如我们有两个这样的词:创业、创业方向,第二个词包含了*个词,在新闻中如果出现“创业方向”这个词,默认情况下只会给创业两个字添加Keywords超链接,而不是整个词,那么我们如何样才能实现字数多的词优先于字数少的词呢?下面就告诉大家具体的解决办法:
我们找到并打开/include/arc.archives.class.php文件,在里面找到如下代码:
注意查找代码的时候先手动去掉代码里面的【分隔符】字样!
找到后将其替换为如下代码:
function ReplaceKeyword($kw,&$body) { global $cfg_cmspath,$dsql; $maxkey = 5; $kws = explode(",",trim($kw)); //以分好为间隔符 $i=0; $karr = $kaarr = $GLOBALS['replaced'] = array(); //暂时屏蔽超链接 $body = preg_replace("/(<a(.*))(>)(.*)(<)(\/a>)/isU", '\\1-]-\\4-[-\\6', $body); $query="SELECT * FROM #【分隔符】@__keywords WHERE rpurl<>'' and sta=1 ORDER BY length(keyword)desc"; $dsql->SetQuery($query); $dsql->Execute(); while($row = $dsql->GetArray()) { $key = trim($row['keyword']); $key_url=trim($row['rpurl']); $karr[] = $key; $kaarr[] = "<u><a href='$key_url' target='_blank'>$key</a></u>"; } foreach ($karr as $key => $word) { $body = preg_replace("/(^|>)([^<]+)(?=<|$)/sUe", "_highlight('\\2', \$karr[$key], \$kaarr[$key], '\\1')", $body); //echo $body."<br/>"; //恢复超链接 $body = preg_replace("/(<a(.*))-\]-(.*)-\[-(\/a>)/isU", '\\1>\\3<\\4', $body);//暂时屏蔽超链接 $body = preg_replace("/(<a(.*))(>)(.*)(<)(\/a>)/isU", '\\1-]-\\4-[-\\6', $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($GLOBALS['replaced'][$words] == 1){ return $pre.$string; } if($cfg_replace_num > 0){ $string = preg_replace("/".preg_quote($words)."/", $result, $string, $cfg_replace_num); if(strpos($string, $words) !== false) { $GLOBALS['replaced'][$words] = 1; } } else{$string = str_replace($words, $result, $string); } return $pre.$string; }注意手动去掉代码里面的【分隔符】字样!
替换完成后保存即可,然后生成一下新闻内容试试。
DEDECMS使用Keywords关连新闻修改的问题正确解析
DEDECMS使用Keywords关连新闻cfg_keyword_like与关键词替换(是/否)cfg_keyword_replace之区别
网上有关于DEDEcmsKeywords关连新闻(新闻内容Keywords替换)的BUG及修复办法的新闻
打开/include/arc.archives.class.php 文件,找到197行,将$GLOBALS['cfg_keyword_replace']==’Y' 改成 $GLOBALS['cfg_keyword_like']==’Y',看了看真的是歪打正着。
真正的解释是:
cfg_keyword_replace是关键词替换(是/否)使用本功能会影响HTML生成速度
cfg_keyword_like是使用Keywords关连新闻
若要替换新闻里的关键词为链接,需要的打开的是”新闻内容中关键词替换成链接”cfg_keyword_replace为”是”而不是 将”cfg_keyword_like”设为”是”
而使用Keywords关连新闻cfg_keyword_like是指:除了tag相同认为为”相关新闻”外,将”关键词相同”的新闻页认为为”相关新闻”。
今天的关于如何修改织梦CMS新闻的Keywords和内容摘要的字数和织梦内容页模板修改的分享已经结束,谢谢您的关注,如果想了解更多关于DedeCms5.6发布新闻时自动加上Keywords链接、dedecms5.7织梦源码新闻内容详细页怎么调用Keywords增加链接、dedecmsKeywords维护里面字数多的词优先字数少的词的解决方案、DEDECMS使用Keywords关连新闻修改的问题正确解析的相关知识,请在本站进行查询。
本文标签: