最近很多小伙伴都在问织梦CMS文档只添加一次防采集混淆字符串的办法和织梦cms标签这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展dede织梦cms栏目页/内容详细页调用当前文档作
最近很多小伙伴都在问织梦CMS文档只添加一次防采集混淆字符串的办法和织梦cms标签这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展dede织梦cms栏目页/内容详细页调用当前文档作者的会员头像的办法、修改DedeCms文档只能获取30个TAG的办法、如何去掉 DedeCMS 的防采集混淆功能?、怎么去掉 DedeCMS 的防采集混淆功能?等相关知识,下面开始了哦!
本文目录一览:- 织梦CMS文档只添加一次防采集混淆字符串的办法(织梦cms标签)
- dede织梦cms栏目页/内容详细页调用当前文档作者的会员头像的办法
- 修改DedeCms文档只能获取30个TAG的办法
- 如何去掉 DedeCMS 的防采集混淆功能?
- 怎么去掉 DedeCMS 的防采集混淆功能?
织梦CMS文档只添加一次防采集混淆字符串的办法(织梦cms标签)
一些织梦dedeCMS网站管理员朋友们为了防止别人采集自己的网站,在后台添加了防采集混淆字符串,但是有时候我们发现一篇文档会被添加多次,这给我们的读者阅读带来一定的影响,
于是我想能不能控制防采集混淆字符串添加的次数呢?让一篇文档只添加一次,我们知道这个功能在织梦后台是没有的,经过多次尝试和网上搜索,终于实现了这一功能,现发出来,供大家参考。
(友情提示:由于我的站是用织梦dedeCMS V5.5版本建设的,所以我只在5.5的版本中尝试成功,但其它版本按原理来说也需要可以使用,请大家备份后再进行修改。)
1)实现办法:
打开include/downmix.inc.php 找到 约60行左右开始一直到*后如下代码:
//处理要防采集的字段
$bodylen = strlen($body) - 1;
$prepos = 0;
for($i=0;$i<=$bodylen;$i++)
{
if($i+2 >= $bodylen || $i<50)
{
$reString .= $body[$i];
}
else
{
$ntag = @strtolower($body[$i].$body[$i+1].$body[$i+2]);
if($ntag=='</p' || ($ntag=='<br' && $i-$prepos>$maxpos) )
{
$dd = mt_rand(1,4);
$emname = $rndem[$dd];
$dd = mt_rand(1,$totalitem);
$rnstr = $rndstring[$dd];
if($emname!='font')
{
$rnstr = " <$emname>$rnstr</$emname> ";
}
else
{
$rnstr = " <font color='$fontColor'>$rnstr</font> ";
}
$reString .= $rnstr.$body[$i];
$prepos = $i;
}
else
{
$reString .= $body[$i];
}
}
}
return $reString;
}//函数结束
dede织梦cms栏目页/内容详细页调用当前文档作者的会员头像的办法
首先,我们知道,在内容详细页调用当前文档作者的ID代码为{dede:field.mid/},但这个标签只能调用出作者的mid编码。要想调用具体的文档ID,就必须对会员表(dede_member)来进行检索,检索的SQL语句为:
select * from dede_member where mid = 会员MID编号
刚才呢,我们已经将mid使用{dede:field.mid/}标签调用出来了,现在我们要做的就是赋值进去查询即可。故,完整代码为:
{dede:field.mid runphp='yes'}
$id = @me;
if($id <> 0){
$sql = "select * from dede_member where mid = $id";
$query = mysql_query($sql);
$row = mysql_fetch_array($query);
if($row['face'] == ''){
@me = '作者头像:<img src=http://www.dede58.com/a/dedejq/"/member/templets/images/dfboy.png" />';
}
else{
$face = $row['face'];
@me = '作者头像:<img src="'.$face.'" />';
}
}
else{
@me = '游客发表';
}
{/dede:field.mid}
2)栏目页
和1)中分析的原理是完全一样的,只是在这里由于在栏目页,需要赋值的不是{dede:field.mid/},而是[field:mid/]。故完整代码为:
[field:mid runphp='yes']
$id = @me;
if($id <> 0){
$sql = "select * from dede_member where mid = $id";
$query = mysql_query($sql);
$row = mysql_fetch_array($query);
if($row['face'] == ''){
@me = '作者头像:<img src=http://www.dede58.com/a/dedejq/"/member/templets/images/dfboy.png" />';
}
else{
$face = $row['face'];
@me = '作者头像:<img src="'.$face.'" />';
}
}
else{
@me = '游客发表';
}
[/field.mid]
二、分析及解释
1)本文上述代码的特点有:
对文档作者进行了判断,如果是游客投稿,则不进行查询而直接输出“游客发表”,当前,这里您也可以直接置空;
对会员头像做了简单的判断,如果会员没有上传头像(即头像为空)时,则输出“/member/templets/images/dfboy.png”路径的默认图片;
2)其它说明及辅助:
本实例还有继续优化的可能性(比如会员头像为空时,判断会员的性别,对不同的姓别分别输出不同的默认头像);
本文章网址:http://www.ppssdd.com/code/2448.html。转载请保留出处,谢谢合作!修改DedeCms文档只能获取30个TAG的办法
DedeCms不管是以前的版本,还是*新的版本,你添加再多的TAG 在文档中获取的仅仅只有随机的30个!
对于做手机download的朋友,会利用TAG来区分手机型号,这就对于我们特别不利,经过我对dede的了解 并解决了这一个限制。
修改如下:
找到include\taglib文件夹下的tag.lib.php
搜索 row|30
把30改成大点比如50 或者根据自己需要来修改
本文章网址:http://www.ppssdd.com/code/6146.html。转载请保留出处,谢谢合作!如何去掉 DedeCMS 的防采集混淆功能?
怎样去掉dede5.5的防采集混淆功能啊?我现在发的每篇文章里都有dede5.5默认的防采集的那些字符串很烦人,怎样去掉呢?或者换成自己的也行啊?
你好,在文章模板中调用文档内容时使用{dede:field.body/}标签,请勿使用{dede:field name=''body'' function=''RndString(@me)''/}
在Dedecms后台-系统-防采集混淆中有这样一句话:如果你要启用字符串混淆来防采集,请在文档模板需要的字段加上 function=''RndString(@me)'' 属性,如:{dede:field name=''body'' function=''RndString(@me)''/}。
总结
以上是小编为你收集整理的如何去掉 DedeCMS 的防采集混淆功能?全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
怎么去掉 DedeCMS 的防采集混淆功能?
怎样去掉dede5.5的防采集混淆功能啊?我现在发的每篇新闻里都有dede5.5默认的防采集的那些字符串很烦人,怎样去掉呢?或者换成自己的也行啊?
回答:
你好,在新闻源码中调用文档内容时使用{dede:field.body/}标签,请勿使用{dede:field name='body' function='RndString(@me)'/}
在dedecms后台-系统-防采集混淆中有这样一句话:如果你要启用字符串混淆来防采集,请在文档源码需要的字段加上 function='RndString(@me)' 属性,如:{dede:field name='body' function='RndString(@me)'/}。
本文章网址:http://www.ppssdd.com/code/4331.html。转载请保留出处,谢谢合作!我们今天的关于织梦CMS文档只添加一次防采集混淆字符串的办法和织梦cms标签的分享就到这里,谢谢您的阅读,如果想了解更多关于dede织梦cms栏目页/内容详细页调用当前文档作者的会员头像的办法、修改DedeCms文档只能获取30个TAG的办法、如何去掉 DedeCMS 的防采集混淆功能?、怎么去掉 DedeCMS 的防采集混淆功能?的相关信息,可以在本站进行搜索。
本文标签: