修改织梦DedeCms文章页默认title的方法

DedeCms文章页的默认title结构是:“文章标题_网站名称”。

如果您不喜欢这类命名方式,喜欢“文章标题_栏目页_网站名称”、“文章标题_二级栏目_一级栏目_网站名称”这类的命名方式,可以将下列代码插入到模板文件article_article.htm,<title></title>标签之间,即可实现。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

{dede:field name=’title’/}_{dede:field name=’position’ runphp=’yes’}

$tc="_"; //分隔符

$tw=$GLOBALS[‘cfg_list_symbol’]; //调用位置分隔符

@me=html2text(@me); //去除html标签

$tf=split($tw,@me); //分解成数组

for($ta=(count($tf)-2);$ta&gt;=1;$ta–){ //循环赋值给$tk

$tk.=trim($tf[$ta]).$tc;

}

$tk=substr($tk,0,-1);

@me=$tk; //赋值给@me

{/dede:field}_{dede:global name=’cfg_webname’/}

然后再重新生成所有页面。

修改织梦DedeCms5.5/5.6修改“DEDECMS 提示信息

织梦DedeCms的一些跳转提示信息会出现“DEDECMS 提示信息!”这几个字样。

很多朋友都想对他进行修改,改为自己网站的提示信息。

具体修改方法是编辑打开include/common.func.php文件,查找“DEDECMS”,你会发现有两次DEDECMS提示信息,在那两处提示信息的位置修改为你想要的提示信息即可。

织梦DedeCms列表页文章缩略图设置,有就显示,没有不显示

不少用织梦建站朋友想实现这个功能,有时候未必偏偏文章都会配有图片,所以就想实现有缩略图则显示缩略图,无则不显示图片。

可以按照下面这个方法修改实现。

编辑打开/templets/default/list_article.htm (这是默认模板)

搜索下面这段代码

1

[field:array runphp=’yes’]@me = (empty(@me[‘litpic’]) ? "" : "<a class="preview" href="{@me["><img src="{@me[" alt="" /></a>"); [/field:array]

将其替换为

1

[field:array runphp=’yes’]@me = (strpos(@me[‘litpic’],’defaultpic’) ? "" : "<a href='{@me[‘arcurl’]}’ class=’preview’><img src='{@me[‘litpic’]}’/></a>"); [/field:array]

然后再重新生成一遍列表页。

织梦DedeCms网站更换域名后文章图片路径批量修改

因为织梦上传图片用的是绝对地址,如果域名更换后,之前发布的文章的图片URL是不会跟着改变的,所以我们需要把旧域名替换成新的域名,方法很简单,有一段SQL语句更新一下文章正文内容就行。

复制下面SQL语句进织梦DedeCms的后台,点 系统 -> SQL命令行工具,然后看到一个文本框,在文本框内输入SQL语句,按确定之行。如果操作成功,上面会提示“成功执行x个SQL语句!”

update dede_addonarticle set body=replace(body,’旧域名’,’新域名’)

然后再重新生成一遍HTML页面,文章内的旧域名就全部替换成新的了。

修改织梦DedeCms不跳转至index.html页面

用织梦DedeCms搭建网站,一般访问首页的时候,他会跳转至带有index.html的页面上,这样对网站权重传递方面会造成一些影响。我们可以通过修改代码实现不跳转至index.html页面。

编辑打开include/channelunit.func.php页面

查找

$reurl = $typedir.’/’.$defaultname;

替换成

$reurl = $typedir.’/’;

修改完成后就不会再跳转至index.html页面了。

DEDECMS5.6升级至5.7之后无法发布编辑文章的解决办法

此问题是从5.6升级到5.7再导入老数据库3表(附加表,主表,微表)后出的问题。

因为DEDECMS5.7比5.6文章多了投票,所以archives表 多了一个votid字段。

所以必须增加这个字段。否则发布或修改文章的时候会提示更新dede_archives 出错。

解决办法:

请在后台SQL命令行输入以下命令后运行:

ALTER TABLE `dede_archives` ADD `voteid` mediumint(8) NOT NULL;

执行以上命令之后,问题就能完美解决。

另外,升级还有类似dede后台目录对应的问题,默认dede后台目录,你得把升级文件中dede目录的文件上传到你自己设置的后台目录中。

5.6的默认模板同样可以在5.7中适用,只要编码相同,直接上传更新即可。

dede首页使用随机tag关键词

1、打开后台——模板——head.htm 文件
2、找到标签代码 

复制代码

  1. <div class="tags">
  2.           <h4>热门标签:</h4>
  3.           <ul>
  4.           {dede:tag row=’10’ getall=’1′ sort=’month’}
  5.             <li><a href='[field:link/]’>[field:tag /]</a></li>
  6.           {/dede:tag}
  7.           </ul>
  8.         </div>

3、把month换成rand 

复制代码

  1. <div class="tags">
  2.           <h4>热门标签:</h4>
  3.           <ul>
  4.           {dede:tag row=’10’ getall=’1′ sort=’rand’}
  5.             <li><a href='[field:link/]’>[field:tag /]</a></li>
  6.           {/dede:tag}
  7.           </ul>
  8.         </div>

再搭配上自动更新首页的插件,使用起来效果就灰常不错了!栏目页的tag标签要等栏目页更新才会更新的!

使用方法:

 

第一步:

 

把下面的代码复制下来改名auto_update_home.php中的

<?php

$lasttime=filemtime($_SERVER[‘DOCUMENT_ROOT’]."/index.html");

$interval=60;  //更新时间秒为单位1800秒=30分钟

$bdnum=1;//上面设置的时间自动审查生成HTML条数

if((time()-$lasttime)>$interval)

{

require_once (dirname(__FILE__) . "/include/common.inc.php");

require_once DEDEINC."/arc.partview.class.php";

$GLOBALS[‘_arclistEnv’] = ‘index’;

$row = $dsql->GetOne("Select * From `dede_homepageset`");

$row[‘templet’] = MfTemplet($row[‘templet’]);

$pv = new PartView();

$pv->SetTemplet($cfg_basedir . $cfg_templets_dir . "/" . $row[‘templet’]);

$pv->SaveToHtml(dirname(__FILE__).’/index.html’);

exit();

}

?>

 

$interval=1800;  //更新时间秒为单位1800秒=30分钟

 

这里的1800表示首页html每隔半小时生成一次,可随意修改,建议测试时改为60来测试效果,本人亲测Dedecms v5.6可行。

 

第二步:

 

上传auto_update_home.php至网站根目录

 

第三步:

 

修 改首页模板,在网站首页的<head></head>这部分加入<script src="/auto_update_home.php" language="javascript"></script>这段代码,然后更新首页即可。

dedecms改验证码防止注册机注册

我修改的版本是dede5.6

找到/member/templets/
reg-new.htm 文件

找到以下代码:

 <input type="text" class="intxt w200" style="width: 50px; text-transform: uppercase;" id="vdcode" name="vdcode"/><img id="vdimgck" align="absmiddle" onclick="this.src=this.src+’?’" style="cursor: pointer;" alt="看不清?点击更换" src="../include/vdimgck.php"/>

           看不清? <a href="javascript:void(0)" onclick="changeAuthCode();">点击更换</a>

替换为以下代码:

复制代码

  1. <input id="vdcode" class="text login_from3" type="text" style="width: 50px; text-transform: uppercase;" name="vdcode" onfocus="showAuthCode()"/><span id="vdimgck">点击显示验证码</span>
  2. <script>
  3. function showAuthCode(){
  4. document.getElementById("vdimgck").innerHTML='<img id="vdimgck" src="../include/vdimgck.php" alt="看不清?点击更换" style="cursor: pointer;" onclick="showAuthCode()"/>’;
  5. }
  6. </script>

效果图:

dedecms改验证码防止注册机注册 - 小男生 - 小男生的博客

dedecms改验证码防止注册机注册 - 小男生 - 小男生的博客

   

不是怎么美观,不过大半夜的不想弄了!就注册位置防止注册机注册,其它的登录位置不修改。

经过几次测试之后,发现有个别新式注册机居然能过这个!后来我干脆去掉了验证码选项,直接设置了很多回答问题,每次随即调用一个!

dede如何成功关联新浪微博

最近注册了新浪微博,发现特别有意思,发现里面有一个工具可以关键到站外的博客站点,这样每当有更新,微博就会自动更新啦。

 

于是把自己用织梦做的站网址写进去,解决提示:无法关联,然后用填了一个用wp做的站,提示关联成功!通过对比得知,新浪微博是利用feed找到更新文章的。只要给他指定feed地址就可以成功关联啦。

现在开始动手简单修改一下织梦的模板,由于织梦不能生成全站的xml文件,所以要先建立生成全站XML的php程序。

1,建立feed.php

<?php 

require_once (dirname(__FILE__) . "/include/common.inc.php"); 

require_once DEDEINC."/arc.partview.class.php"; 

$pv = new PartView(); 

$pv->SetTemplet($cfg_basedir . $cfg_templets_dir . "/templets/default/feed.htm"); 

header("Content-type:application/xml"); 

$pv->Display(); 

?> 

以上要注意的是修改模板的路径,确保在模板跟目录能够找到feed.htm

2,建立feed.htm模板文件

<?xml version="1.0" encoding="gb2312" ?> 

<rss version="2.0"> 

<channel> 

<title>{dede:global.cfg_webname/}</title> 

<link>{dede:global.cfg_basehost/}</link> 

<description>{dede:global.cfg_description/}</description> 

<language>zh-cn</language> 

<generator>{dede:global.cfg_webname/}</generator> 

<webmaster>{dede:global.cfg_adminemail/}</webmaster> 

{dede:arclist row=’60’ col=’1′ titlelen=’100′ orderby=’pubdate’} 

<item> 

<link>http://www.iwojie.com[field:arcurl/]</link> 

<title><![CDATA[[field:title function=’html2text(@me)’/]]]></title> 

<author>[field:writer/]</author> 

<category>[field:typename/]</category> 

<pubDate>[field:pubdate function=’strftime("%a, %d %b %Y %H:%M:%S +0800",@me)’/]</pubDate> 

<guid>http://www.iwojie.com[field:arcurl/]</guid> 

<description><![CDATA[[field:description function=’html2text(@me)’/] … ]]></description> 

</item> 

{/dede:arclist} 

</channel> 

</rss> 

需要注意的是,别忘了把我的网址改成你自己需要的。

3,修改index.htm主页模板

由于新浪微博只能验证网址,不能写完整路径,比如我写的是:http://www.iwojie.com/feed.php。结果提示关联失败,解决的办法是,在<head>和</head>中间加入下面的代码

<link rel="alternate" type="application/rss+xml" href="http://www.iwojie.com/feed.php"  title="我们结婚了" />

然后在关联博客地方填写你网站的地址就可以了!

通过以上方法就可以成功关联新浪微博了。