dedecms常见修改,参考大全,二次开发

收集自己觉得好的资料




//织梦的网站查询手册

//红色为问题集  //橄榄色为注释  //紫色为拓展


1.网站标题(优化): 

{dede:field.title/}_{dede:global.cfg_webname/}

2.当前名称:

{dede:field name='typename'/}

3.导航条(父类、子类):

{dede:channel type='top' row='8' currentstyle="<li><a href='~typelink~' class='thisclass'>~typename~</a> </li>"}

 <li><a href='[field:typelink/]'>[field:typename/]</a> </li>

{/dede:channel}

4.面包屑:

{dede:field name='position'/}     //出来的效果是:首页 > 新闻动态 >

{dede:field name='position' runphp='yes'}

@me=substr(@me,0,-2);

{/dede:field}                     //出来的效果是:首页 > 新闻动态 

生成的代码为 <a href="#">首页</a> > <a href="#">新闻动态</a>

函数的位置 include/typelink.class.php  

参考网站:http://www.simple-studio.net/2011060216.shtml

注意:在列表页的时候 {dede:field name='position'/} 效果是 首页 > 联系我们 >

      在封面页的时候 {dede:field name='positon'/} 效果是 首页 > 联系我们

      少一个后边的 > 

删除当前位置下的超链接,只保留文字..

方法1:

文件\include\arc.archives.class.php

文件\include\arc.listview.class.php 

文件\include\arc.partview.class.php

把三个文件里面的这句

Fields['position'] = $this->TypeLink->GetPositionLink(true);

都改成

Fields['position'] = $this->TypeLink->GetPositionLink(false);

方法2:

{dede:field name='position' function="strip_tags(@me)"/}

或者{dede:field name='position' function="html2txt(@me)"/}

参考网站:http://www.cnblogs.com/Byrd/archive/2011/04/27/2030458.html

5.关于列表页和内容页的分页代码和css样式(可以直接拿来使用)

ul.pagesize{width:620px; margin:20px auto 10px; text-align:center; padding-bottom:10px;}

ul.pagesize a{padding:5px; margin-right:5px; color:#333333; text-decoration:none;}

ul.pagesize span.thisclass{padding:5px; margin-right:5px; color:#fc0;}

ul.pagesize span.pageinfo{}

列表页的php页面:include/arc.listview.class.php  分页代码

文章页的php页面:include/arc.archives.class.php  分页代码

也可以用文件夹下的各种酷炫分页效果。

6.控制标签的字数(如description或者info或者body)

[field:description function='cn_substr(@me,80)'/]

[field:body function='cn_substr(@me,80)'/]

不足显示全文,超过显示省略号...

[field:title function='(strlen("@me")>26 ? cn_substr("@me",26)."…":"@me")'/]

7.调用时间函数(多用于新闻列表的时间)

[field:pubdate function="MyDate('Y-m-d H:i',@me)"/]

pubdate 更新时间(发布时间)--可以修改

senddate 出版时间--不可更改

8.替换<div></div>等html标签的用法

{dede:field.body runphp="yes"}

$a=str_replace('div','p','@me');

$b=str_replace('<br />','',$a);

@me=str_replace(' ','',$b);

{/dede:field.body}

9.自定义表单增加时间的方法

后台显示:

①.修改dede/templets/diy_list.htm,42行        

else后面加入

if($fielddata[1]=='datetime')
{

   $fields[$field] = GetDateTimeMk($fields[$field]);

前台显示:

②.templets/plus/list_diyform.htm 在以下位置添加上面的代码

其它附件</a>";

}

--------------------》》在这个的后面添加以下代码。保存就OK

if($fielddata[1]=='datetime')

{

$fields[$field] = GetDateTimeMk($fields[$field]);

} 

写在静态页面:

<tr style="display:none;">

  <td align="right" valign="top">提交时间:</td>

  <td><input name="txtshowtime"  type="text" id="txtshowtime" style="width:250px" class="intxt"  /><script type="text/javascript">

function chandeTime(){

var date = new Date();

     var year = date.getFullYear();

     var month = date.getMonth()+1;    //js从0开始取 

     var date1 = date.getDate(); 

document.getElementById("txtShowTime").value=year+"-"+month+"-"+date1+" "+date.toLocaleTimeString() ;

window.setTimeout("chandeTime();",1000);

}

window.onload = chandeTime();

</script></td>

</tr>

10.织梦的后台添加菜单选项卡

dede/templets/index_menu2.htm

加入一个选项卡,我放在了141行,在那个if判断权限的条件外,这样可以让编辑人员看到

<a id='link9' class='mm'><div onClick="ShowMainMenu(9)">其他</div></a>

这里注意你的id,link9不要和上边的id重复,然后 后边的js方法ShowMainMenu中也要传入9,是对应的,

然后是下一步,还是这个页面,大概下边找到一些空的div,都是些id是ct加数字的,加上:

<div id='ct9'></div> 

这里ct后边的数字对应你上边的数字

接下来找到 dede/inc/inc_menu.php 打开在最下边的一串---符号上边,加上

<m:top item='9_' name='资讯其他管理' notshowall='1'  display='none' rank='sys_MakeHtml'>

  <m:item name='管理身份证' link='/plus/mood/mood_write_admin.php' rank='sys_MakeHtml' target='main' />

</m:top>

就可以在后台的 “其他”->“管理身份证” 中访问到你新加的功能了

11.把数据保存到数据库主表 `#@__archives` 时出错,请把相关信息提交给DedeCms官方(解决方法)

登陆系统后台–系统–SQL命令行工具,运行下面代码

Alter TABLE `dede_archives` ADD COLUMN `voteid` int(10) NOT NULL DEFAULT 0 AFTER `mtype`;

运行后更新下缓冲,重新发布文章,成功解决了。

12.关于js文件由于编码的不同(gb2312或者utf-8)导致特效不出来的解决方案。

把JS文件重新粘贴到新建好的JS文档里就OK啦

13.一键更新四国语言版本的织梦问题。

中文(不用)

英文En(列表下选择En-index.htm模板)

韩文Korean(列表下选择H-index.htm模板)

一键更新就自动生成 index.html了。

14.dedecms5.7 版后台编辑器无法显示问题。

在系统设置里.Html编辑器选项(目前仅支持fck): fck 

Html编辑器选项(目前仅支持fck): ckeditor 

15.织梦DedeCms限制文章页上一篇、下一篇文章标题字数。给他们增加链接(直接用archives.class.php)

编辑打开include/arc.archives.class.php文件

查找:$this->PreNext['pre'] = "上一篇:{$preRow['title']} ";

在这一行上面加上以下代码

$preRow['title']=cn_substr($preRow['title'],30);//最多显示15个汉字

查找:$this->PreNext['next'] = "下一篇:{$nextRow['title']} ";

在这一行上面加上以下代码

$nextRow['title']=cn_substr($nextRow['title'],30);//最多显示15个汉字

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

参考网址:http://www.dedeadmin.com/?p=902

修改织梦文档标题长度限制 

1、进入后台--系统--系统设置--系统基本参数--其他选项--文档标题最大程度改为你要的长度原默认是60(这里改为了200)

2、登陆数据库,改数据库表dede_archives表里面的title字段,原默认是60,(这里改为200).

16.织梦一个字数代表几个字节。

①GBK        一个汉字两个字节

②utf-8      [3×(汉字数-2]+1 —— [3×(汉字数-2]+1+2

17.修改织梦列表、文章默认的命名规则。

I。①文章命名:(修改完添加栏目就能看见。批量修改

include/common.inc.php

//文档的默认命名规则 

$art_shortname = $cfg_df_ext = '.html'; 

$cfg_df_namerule = '{typedir}/{Y}/{M}{D}/{aid}'.$cfg_df_ext; 

修改成 $cfg_df_namerule = 'posts/{aid}'.$cfg_df_ext; 

②列表命名:

dede/templets/catalog_add.htm

{typedir}/list_{tid}_{page}修改成自己需要的即可

II。直接修改高级选项里边的文章命名规则单独修改

III。系统-系统基本参数-其它选项-是否允许用目录作为文档文件名(文档命名规则需改为:{typedir}/{aid}/index.html)点是。然后把栏目文章命名规则改为{typedir}/{aid}/index.html  生成的文章目录为:例 http://127.0.0.2/ceshi/135/

参考(http://www.zuimoban.com/php/cms/1155.html)

http://hi.baidu.com/eatpeach/blog/item/5b353f4ee3efb5c6d0c86a58.html

18.底层模板的修改在 include/typelink.class.php

$typelink = "<a href='".$typepage."' title='查看 ".$typeinfos['typename']." 的全部文章'>".$typeinfos['typename']."</a>";

19.关于文章页点击次数的两种调用。

①.{dede:field.click/}        静态(一般列表页用)

②.<script src="{dede:field name='phpurl'/}/count.php?view=yes&aid={dede:field name='id'/}&mid={dede:field name='mid'/}" type='text/javascript' language="javascript"></script>次       动态(一般文章页用)

20.给近三天(或当天)发布的文章标题显示红色或加上new字或new小图片等。

<li><span>[[field:pubdate function="MyDate('Y-m-d H:i:s',@me)"/]]</span> <a href="[field:arcurl/]">

[field:pubdate runphp='yes'] 

$ntime = time();

$oneday = 3600 * 24;

if(($ntime - @me)<$oneday) @me = "<font color='#900'>";

else @me = "";

[/field:pubdate]

[field:title/]

[field:pubdate runphp='yes'] 

$ntime = time();

$oneday = 3600 * 24;

if(($ntime - @me)<$oneday) @me = "new!</font>";

else @me = "";

[/field:pubdate]

</a></li>

给近三天(或当天)发布的文章显示红色日期或加上new字或new小图片等

1、==========红色的日期========

[field:pubdate runphp='yes'] 

$a="<font color=red>".strftime('%m-%d',@me)."</font>";

$b=strftime('%m-%d',@me);

$ntime = time(); 

$day3 = 3600 * 24 * 3;

if(($ntime - @me) < $day3) @me = $a;

else @me =$b; 

[/field:pubdate]

2、==========红色的(new)========

[field:pubdate runphp='yes']

$aa=strftime('%m-%d',@me);

$ntime = time();

$tagtime = @me;

$day3 = 3600 * 24 * 3;

if($tagtime > $ntime-$day3) @me = "<font color='red'>(new)</font>";

else @me = $aa;

[/field:pubdate]

3、==========加new.gif小图片========

[field:pubdate runphp='yes']

$aa=strftime('%m-%d',@me);

$ntime = time();

$tagtime = @me;

$day3 = 3600 * 24 * 3;

if($tagtime > $ntime-$day3) @me = "<img src='new.gif' />".$aa;

else @me = $aa;

[/field:pubdate]

注意 ①:当天的去除*3     ②:img src='new.gif' /中不能用双引号,否则不行 

===================================

[field:pubdate runphp="yes"] 

if((time()-@me)<(60*60*24)){@me=' <font color="#ff6600">'.strftime("%H:%M",@me).'</FONT>';} 

else {@me=strftime("%m-%d",@me);}           

[/field:pubdate]

21.dedecms5.7修改文章内容的同时不修改发表日期时间。

/dede/templets/article_edit.htm

365行左右把

$nowtime = GetDateTimeMk(time());

改成

$nowtime = GetDateTimeMk($arcRow["pubdate"]);

关于织梦将文章审核时间与发布日期同步的修改方法

http://blog.sina.com.cn/s/blog_80a856e50100vudp.html

22.织梦后台 栏目内容里边的列表 的更新时间 按照修改的来(DEDE后台文章排序按文章发布时间)  

修改

/dede/content_list.php  文件

查找

$orderby = empty($orderby) ? ‘id’ : eregi_replace("[^a-z0-9]", "", $orderby);

修改为

$orderby = empty($orderby) ? ‘pubdate’ : eregi_replace("[^a-z0-9]", "", $orderby);

到后台模版目录下  修改 /dede/content_list.htm  文件

查找

<td>{dede:field.senddate function=’GetDateMk(@me)’/}</td>

修改为

<td>{dede:field.pubdate function=’GetDateMk(@me)’/}</td>

23.infolen简介控制字数没有效果的解决方法(description等同于infos)

在列表页 description=infos 在文章页 只用description不用infos

Ⅰ.字数变少

①.底层标签[field:description/] 改成[field:infos/]

②.[field:description function='cn_substr(@me,66)'/]

Ⅱ.字数变多

①修改 系统--系统基本参数--其它选项 里的自动摘要长度 如改为 600

②修改 数据表 dede_archives下的 description的结构 把varchar(250)改成varchar(600)

③修改 dede/article.edit.php 

第113行 $description = cn_substrR($description,250);

修改为  $description = cn_substrR($description,600);或者$description = $description;

24.织梦留言板的研究

①通过自定义表单(可在前后台查看,缺点是管理员不能回复)

dedecms自定义表单模板:

templets/plus/view_diyform.htm内容模板

templets/plus/post_diyform.htm发布模板

templets/plus/list_diyform.htm 列表模板

1. 建个自定义表单 

2. 点击 前台预览 -- 发布信息

3. 查看源码 找到<form 开始 及 </form>之间的代码 复制下来

4. 这里我们测试 把他放到首页的模版里:

   放在{dede:include filename="head.htm"/}(仅测试玩)

参考链接:http://dedecms8.blog.163.com/blog/static/167685605201051251927196/

拓展:

目前所做的留言一般用自定义表单.

如(科瑞达:http://www.colouroad.com/kefu/3/;威达龙:http://www.weidalong.com/tsjy/;三夏:http://samsummercom.host.tedaweb.com/China/contact/2/;新宇酒店:http://xysdjdcom.host.tedaweb.com/a/lxwm/2/;)

在后台选项卡中添加 留言菜单 (详见问题10)可直接调用文件下的 index_menu2.htm和 inc_menu.php

 

②通过织梦自带的留言簿模块(可查看,也可回复)

先安装留言簿模块。/plus/guestbook.php 模板 /templets/plus/guestbook.htm 自己修改模板就行.

或者手写一个模板 form 提交的时候 到 /plus/guestbook.php 类似guestbook.htm 格式来.

③插件评论啦 微博、QQ、人人直接评论 能用Q登陆发布的留言(互联网那点事)

http://pinglun.la/ 在其注册一个号   账号:[email protected]   密码:111111

插入类似这种代码:

<!-- PingLun.La Begin -->

<div id="pinglunla_here"></div><a href="http://pinglun.la/" id="logo-pinglunla"></a><script type="text/javascript" src="http://pinglun.la/64f1072ea891893f199aabf132c248c53e9a640a.js" charset="utf-8"></script>

<!-- PingLun.La End -->

④织梦自带的评论

见文件夹下的ajax.htm放在默认的模板下

ajaxfeed.css放在\templets\default\style下

调用评论插件:{dede:include file='ajaxfeedback.htm' /}

feedback

功能说明:用于调用最新评论

{dede:feedback}

<ul>

<li class='fbtitle'>[field:username function="(@me=='guest' ? '游客' : @me)"/] 对 [field:title/] 的评论:</li>

<li class='fbmsg'> <a href="plus/feedback.php?aid=[field:aid/]" class='fbmsg'>[field:msg /]</a></li>

</ul>

{/dede:feedback}

织梦首页

{dede:feedback row='5' titlelen='24' infolen='80'}

      <li> <small><a href="#" class="username">[field:username function="(@me=='guest' ? '游客' : @me)"/]</a> 评论 <a href="[field:global.cfg_phpurl/]/feedback.php?aid=[field:aid/]" class="title">[field:title/]</a></small>

       <p>[field:msg/]</p>

      </li>

{/dede:feedback}

25.给自定义表单添加验证码

①.首先找到 /plus/diy.php

在头部引入文件

require_once(DEDEINC.'/membermodel.cls.php');

然后找到

elseif($do == 2)

{

这里,加入验证代码

//验证码验证

$svali = GetCkVdValue();

   if(preg_match("/1/",$safe_gdopen)){

       if(strtolower($vdcode)!=$svali || $svali=='')

         {

           ResetVdValue();

           ShowMsg('验证码错误!', '-1');

           exit();

          }           

}

②.在你要引入自由表单的模板页面中加入验证码

<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>

关于自定义表单怎么在模板页中使用,自定义表单怎么验证,就不再说了

设置自定义表单中的字段为必填项

①.php验证

在plus/diy.php的第40行下加

//增加必填字段判断

if($required!=''){

if(preg_match('/,/', $required))

    {

        $requireds = explode(',',$required);

        foreach($requireds as $field){

            if($$field==''){

                showMsg('带*号的为必填内容,请正确填写', '-1');

                exit();

            }

        }

    }else{

        if($required==''){

            showMsg('带*号的为必填内容,请正确填写', '-1');

            exit();

        }

    }

}

//end

②.在模板的表单增加

<input type="hidden" name="required" value="name,qq" />

参考网站:http://www.dedecms8.com/dedecms/2845.html

总结自定义表单(发布留言验证码,发布日期,验证必填项) 9 24 25

26.用field调用站点根网址  插件 评论啦使用

① {dede:global.cfg_basehost/}                     127.0.0.1

② [field:global name='cfg_webname'/]              127.0.0.1

例:http://www.alibuybuy.com/category/collection

列表页:

{dede:list}

<script type="text/javascript">document.write('<script type="text/javascript" src="http://pinglun.la/64f1072ea891893f199aabf132c248c53e9a640a/cc.js?t=%EF%BC%88%7Bcount%7D%E4%B8%AA%EF%BC%89&o=1&p='+encodeURIComponent("[field:global name='cfg_basehost'/][field:arcurl/]")+'" charset="utf-8"></'+'script>')</script>

{/dede:list}

文章页:

<script type="text/javascript">document.write('<script type="text/javascript" src="http://pinglun.la/64f1072ea891893f199aabf132c248c53e9a640a/cc.js?t=%EF%BC%88%7Bcount%7D%E6%9D%A1%EF%BC%89&o=1&p='+encodeURIComponent("{dede:global.cfg_basehost/}{dede:field.arcurl/}")+'" charset="utf-8"></'+'script>')</script>

27.安装织梦的时候 GD库不支持

GD是php的图片扩展,是用来操作图片的,平时用的验证码,图片上打水印都得gd库支持

修改dede/login.php和dede/templets/login.htm 判断后台验证码

login.php 

67行 if{ 下边注释掉

/*ResetVdValue();

        ShowMsg('验证码不正确!','login.php',0,1000);

        exit;

    } else {*/

login.htm 27行  注释掉

<!--<?php

if(preg_match("/6/",$safe_gdopen))

{

?>

<dt>验证码:</dt>

<dd><input id="vdcode" type="text" name="validate" style="text-transform:uppercase;"/><img id="vdimgck" align="absmiddle" onClick="this.src=this.src+'?'" style="cursor: pointer;" alt="看不清?点击更换" src="../include/vdimgck.php"/>

<a href="#" onClick="changeAuthCode();">看不清? </a></dd>

<?php

}

?>-->

28.织梦列表页(自定义模型,附加表字段) 

列表页:

{dede:list pagesize='3'}

[field:xinxi/]

[field:xm/]

{/dede:list}

织梦的内容页:可以直接使用 {dede:field.xinxi/}与{dede:field.xm/}

文章页:用arclist调用于附加表字段的方法:

要获取附加表内容,必须符合两个条件

1、指定 channelid 属性

2、指定要获得的字段 addfields='字段1,字段'

如:

{dede:arclist addfields='filetype,language,softtype' row='8' channelid='3'}

[field:textlink /] - [field:softtype /]<br />

{/dede:arclist}

29.织梦的首页、封面页arclist分页标签示例 参考网址(http://bbs.dedecms.com/258534.html)

①首先必须在首页的</head>前面加上:

<script language="javascript" type="text/javascript" src="{dede:global.cfg_cmsurl/}/include/dedeajax2.js"></script>

②必须引入以下javascript代码:

<script> 

function multi(pagenum,tagid) 

var taget_obj = document.getElementById(tagid); 

var taget_obj_page = document.getElementById("page_"+tagid); 

myajax = new DedeAjax(taget_obj,false,false,'','',''); 

myajax.SendGet2("/plus/arcmulti.php?mtype=0&pnum="+pagenum+'&tagid='+tagid); 

myajax = new DedeAjax(taget_obj_page,false,false,'','',''); 

myajax.SendGet2("/plus/arcmulti.php?mtype=1&pnum="+pagenum+'&tagid='+tagid); 

DedeXHTTP = null; 

</script>

③在arclist标签中必须含有tagid与pagesize参数。 第一个是缓存名,第二个是单页条数;例如:

{dede:arclist tagid='index' pagesize='5'} 

<li><b><a href="[field:arcurl/]" style="color: #FF6633">[field:title/]</a></b></li> 

<p class="my_tj_info">[field:info/]...</p> 

{/dede:arclist}

④必须存在arcpagelist标签,且必须声明缓存参数tagid且缓存参数与arclist中tagid保持一致。例如:

{dede:arcpagelist tagid='index'/}

现在贴上一个完整代码供大家测试参考:

<script language="javascript" type="text/javascript" src="{dede:global.cfg_cmsurl/}/include/dedeajax2.js"></script> 

<script> 

function multi(pagenum,tagid) 

var taget_obj = document.getElementById(tagid); 

var taget_obj_page = document.getElementById("page_"+tagid); 

myajax = new DedeAjax(taget_obj,false,false,'','',''); 

myajax.SendGet2("/plus/arcmulti.php?mtype=0&pnum="+pagenum+'&tagid='+tagid); 

myajax = new DedeAjax(taget_obj_page,false,false,'','',''); 

myajax.SendGet2("/plus/arcmulti.php?mtype=1&pnum="+pagenum+'&tagid='+tagid); 

DedeXHTTP = null; 

</script> 

{dede:arclist tagid='index' pagesize='5'} 

<li><b><a href="[field:arcurl/]" style="color: #FF6633">[field:title/]</a></b></li> 

<p class="my_tj_info">[field:info/]...</p> 

{/dede:arclist} 

{dede:arcpagelist tagid='index'/}

30.织梦arclist 列表页调出的是 当前栏目下的文章。

调用所有栏目下的文章,给arclist一个属性 typeid='top'

31.织梦的tag标签(http://www.dedeadmin.com/?p=1501)        后台函数/include/taglib/tag.lib.php

I.{dede:tag sort='new' getall='0'}

<a href='[field:link/]'>[field:tag /]</a>                  //出来的效果不带数字  <a href='#'>seo</a>

{/dede:tag}

II.{dede:tag row='6' sort='new'/}                          //出来的效果带数字<a href='#'>1(1)</a>

①、选择你所要加页面的模板,一般是在首页index.htm   加上如下代码

<!-- /下面开始tag标签云 -->

<dl class="tbox light">

<dt><strong>Tags标签云</strong></dt>

<dd>{dede:tag row='45' getall='1' sort='hot'}

<a href='[field:link/]' title="[field:tag /]([field:total /])" style="[field:total runphp=yes]@me=getTagStyle();[/field:total]">[field:tag /]</a> 

{/dede:tag} 

</dd>

</dl>

<!-- /tag标签云结束 -->

②、在/include/common.func.php 中加入如下函数。

function getTagStyle()  

{  

$minFontSize=8; //最小字体大小,可根据需要自行更改  

$maxFontSize=18; //最大字体大小,可根据需要自行更改  

return 'font-size:'.($minFontSize+lcg_value()*(abs($maxFontSize-$minFontSize))).'px;color:#'.dechex(rand(0,255)).dechex(rand(0,196)).dechex(rand(0,255));  

}

tag标签静态化(插件)

①、在DEDE网站根目录,建立“tag”目录(小写)

②、在DEDE后台SQL运行器里,执行以下一条SQL:

ALTER TABLE `#@__tagindex` ADD `maketime` INT( 10 ) UNSIGNED NOT NULL DEFAULT '0';

③、增加文件:

templets/default/list_tag.htm //可从文章列表页复制修改

templets/default/index_tag.htm //可从tag.htm复制

dede/makehtml_tag_action_list.php

dede/makehtml_tag_action_index.php

dede/makehtml_tag.php

dede/templets/makehtml_tag.htm

include/arc.taghtml.class.php

④、替换文件:

dede/inc/inc_menu.php

include/taglib/tag.lib.php

include/extend.func.php

参考网址:http://www.willacat.com/2011/05/420.html

32.织梦标题颜色

在后台发文章的时候  高级参数-标题颜色 设置一个就ok了

33.seo标题 给栏目设置seo标题、关键字、描述(http://www.dedecms8.com/dedecms/2835.html)

内容页调用SEO标题:在<title></title>之间加进以下代码:

{dede:field name='typeid' runphp='yes'} 

$id=@me; 

global $dsql; 

$sql="select seotitle from dede_arctype where id=$id"; 

$row=$dsql->getOne($sql); 

@me=$row["seotitle"]; 

{/dede:field}

 

内容页调用栏目描述:

把默认的<meta name="description" content="{dede:field.description function='html2text(@me)'/}" />改成:

<meta name="description" content="{dede:field name='typeid' runphp='yes'} 

$id=@me; 

global $dsql; 

$sql="select description from dede_arctype where id=$id"; 

$row=$dsql->getOne($sql); 

@me=$row["description"]; 

{/dede:field}" /> 

内容页调用栏目关键字:

把默认的<meta name="keywords" content="{dede:field.keywords/}" /> 改成:

<meta name="keywords" content="{dede:field name='typeid' runphp='yes'} 

$id=@me; 

global $dsql; 

$sql="select keywords from dede_arctype where id=$id"; 

$row=$dsql->getOne($sql); 

@me=$row["keywords"]; 

{/dede:field}" /> 

首页:

<meta name="keywords" content="{dede:global.cfg_keywords/}" />                                          //总体关键字

<meta name="description" content="{dede:global.cfg_description/}" />                                    //总体描述

栏目页(封面页、列表页)直接:

<meta name="keywords" content="{dede:field name='keywords'/}" />                                        //栏目关键字

<meta name="description" content="{dede:field name='description' function='html2text(@me)'/}" />        //栏目的描述

文章页 

<meta name="keywords" content="{dede:field name='keywords'/}" />                                        //文章的关键字

<meta name="description" content="{dede:field name='description' function='html2text(@me)'/}" />        //文章的描述

34.Dedecms系统登录、更新的提示信息修改方法

include/common.func.php 里边有

dedecms提示信息

参考网址:http://www.dedecms8.com/dedecms/dedecms-fz/389.html

35.织梦的自定义变量存在的数据表

存在于dede_sysconfig

36.用于首页调取公司简介。(部分)

{dede:sql sql='SELECT * FROM `dede_arctype` WHERE `id` =8'}

[field:content runphp='yes']

@me = strip_tags(@me);                            //织梦剥离html函数

@me=cn_substr(@me,420);                           //截取字符串函数

[/field:content]......

{/dede:sql}

或者:[field:content function="Html2Text('@me')"/]

给织梦DEDECMS5.7的编辑器添加中文字体选项方法

(查找font_names)

下面分享一下为ckeditor网页编辑器添加中文字体的方法:

i.font_names='Arial/Arial, Helvetica, sans-serif;Comic Sans MS/Comic Sans MS, cursive;Courier New/Courier New, Courier, monospace;Georgia/Georgia, serif;Lucida Sans Unicode/Lucida Sans Unicode, Lucida Grande, sans-serif;Tahoma/Tahoma, Geneva, sans-serif;Times New Roman/Times New Roman, Times, serif;Trebuchet MS/Trebuchet MS, Helvetica, sans-serif;Verdana/Verdana, Geneva, sans-serif;宋体/宋体;黑体/黑体;仿宋/仿宋_GB2312;楷体/楷体_GB2312;隶书/隶书;幼圆/幼圆;微软雅黑/微软雅黑';

需要特别注意的是:添加的字体,要写成诸如“宋体/宋体”的形式,而不是“宋体”。即“显示的字体名称/实际字体名称”的格式。

参考网址:http://www.51dedecms.com/news/dedecms/2011/1030/3067.html

37.织梦分页(不要页码,显示上一页 下一页)

include/arc.listview.class.php的

978行改为 

else

{

$indexpage="<a>首页</a>\r\n";

$prepage.="<a>上一页</a>\r\n";

}
990行改为

else

{

       $endpage="<a>末页</a>\r\n";

$nextpage.="<a>下一页</a>\r\n";

}

前台调用 {dede:pagelist listitem="info,index,end,pre,next"/}

38.让DedeCMS的索引默认从零开始的方法[field:global.autoindex/]

这几天帮人做个简单的网站,用DedeCMS搭建,做到幻灯这块儿时,不想用官方提供的那个幻灯要是,自己做的话用到了DedeCMS的[field:global.autoindex/] 这个标签,但是却发现这个默认的索引时从1开始的,用起来不太方便,那么怎们能让默认索引从0开始呢?就要使用PHP语法解决,具体方法如下:

[field:global name=autoindex runphp="yes"]@me=@me-1;[/field:global] 

只要这样就可以简单解决DedeCMS默认索引从0开始的问题了。

参考网址:http://www.vvschool.cn/html/web/cms/2010/1006/4442.html

39.织梦的rss订阅(templets/plus/rss.htm)

第一步,建立RSS文件,命名为rss.php,把此文件上传到网站根目录,rss.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 . "/default/rss.htm");

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

$pv->Display();

?>

第二步,建立RSS模板文件rss.htm,把此文件上传到模板目录下(\templets\default),rss.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.lixiaojiang.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.lixiaojiang.com[field:arcurl/]</guid>

<description><![CDATA[[field:description function='html2text(@me)'/] ... <br /><b>文章分类</b>:[field:typename/]<br /><a href="[field:arcurl/]" target="_blank">阅读全文</a> | <a href="[field:arcurl/]" target="_blank">评论回复</a>]]></description>

</item>

{/dede:arclist}

</channel>

</rss>

第三步,在后台增加一个单页面,“模板文件名”项中输入第2步中涉及的模板文件rss.htm,早“文件名”中输入未来Rss订阅地址,这里我就直接生成在CMS根目录下了。

参考网址:http://down.chinaz.com/try/201108/960_1.htm     (完整版)

          http://www.lixiaojiang.com/xj/it/2011/35.html  (未全)

40.QQ的邮件订阅

http://list.qq.com/           QQ邮件

http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=20015&&no=1000676

http://www.feedsky.com/       feed添加、发布等等  feedsky

41.用JS实现今天的日期

<script language=JavaScript>

today=new Date();

function initArray(){

this.length=initArray.arguments.length

for(var i=0;i<this.length;i++)

this[i+1]=initArray.arguments[i]  }

var d=new initArray(

"星期日",

"星期一",

"星期二",

"星期三",

"星期四",

"星期五",

"星期六");

document.write(today.getYear(),"年",today.getMonth()+1,"月",today.getDate(),"日","  ",d[today.getDay()+1]);

</script>

42.一键批量删除织梦未审核的文档

后台-系统-SQL命令行工具 运用命令行来解决这个问题

delete from `dede_archives` where arcrank=-1;

简单的一行代码就可以删除所有待审核的文档

参考网址:http://www.82gp.com/dt/47.html

43.织梦网站地图

①.普通网站地图          

1.荣大汽车

参考:http://www.rdgm.net/data/sitemap.html

在需要的地方加上 {dede:global name='maplist'/}

生成的代码是:

<div class="linkbox">

<h3><a href='/a/webbase/'>网页基础</a></h3>

<ul class="f6">

<li><a href='/a/webbase/html/'>HTML</a></li>

<li><a href='/a/webbase/div-css/'>DIV&CSS</a></li>

<li><a href='/a/webbase/javascript-ajax/'>Javascript/Ajax</a></li>

<li><a href='/a/webbase/dreamweaver/'>Dreamweaver</a></li>

</ul>

</div>

织梦DedeCMS网站地图优化技巧:生成根目录

http://www.dedeadmin.com/?p=2707

http://hi.baidu.com/yuhua2004/blog/item/034e782e798d03f18b139974.html

2.船厂的普通地图

单独写出来,写成一个静态页。http://www.shiprepair-xgsy.com/html/map/

44.织梦的描述(有描述就显示内容,没有描述就不显示)

{dede:field.description runphp='yes'}

if(@me!='' )@me = '

<div class="intro">'.@me.'</div>

 ';

{/dede:field.description}

{dede:field name='source' runphp='yes'}

if(@me == "") @me = "";else @me = "来 源:".@me;

{/dede:field} 

{dede:field.description runphp='yes'}

  if(@me<>'' )@me = '

  <div class="jj">【导读】:'.@me.'</div>

  ';

{/dede:field.description}

45.织梦自带的评论(详见目录下的ajax.htm模板和ajaxfeed.css)

引入css

<link href="{dede:global.cfg_templets_skin/}/style/dedecms.css" rel="stylesheet" media="screen" type="text/css" />

引入js

<script language="javascript" type="text/javascript" src="{dede:global.cfg_cmsurl/}/include/dedeajax2.js"></script>

引入调用代码

{dede:include file='ajaxfeedback.htm' /}

46.织梦的统计流量(51la或者cnzz)和QQ在线交谈可以通过广告代码调用。

参考资料:http://han2000lei.iteye.com/blog/404732

QQ在线交谈设置:http://wp.qq.com/index.html

淘宝销售榜榜单:http://top.taobao.com/level2.php?cat=TR_JJ&from=&pid=mm_25225465_0_0&show=brand&stat_ref=tops_module&goodsFilter=all

写入js广告引用iframe

分享代码 用织梦广告引入

47.织梦友情链接(后台\include\taglib\flink.lib.php)

V53标记:{dede:flink row='24'/}

type='image' 或textall,图片链接,text文字链接;

row='24' 链接数量

titlelen='24' 站点文字的长度

linktype='2' 链接位置首页 linktype='1' 链接位置内页

typeid='0' 所有类型,可以在系统后台[模块]-[友情链接]中的“网站类型管理”中查看 

V57标记:flinktype  详细参考(http://blog.sina.com.cn/s/blog_917e0c4d0100yc7l.html) 

① DEDECMS默认代码:     {dede:flink row='24'/}                                                                     生成的有li,a

② 图片友情链接:        {dede:flink row='24' type='image' titlelen="24" typeid="0"} [field:link /] {/dede:flink}   生成的没有li的只有a

③ 文字友情链接:        {dede:flink row='24' type='text' titlelen="24" typeid="0"} [field:link /] {/dede:flink}    生成的没有li的只有a

④ 调用全部类型链接:    {dede:flinktype type="dedecms"}{dede:flink/}{/dede:flinktype}   [field:typename/]类型名称

拓展: {dede:flink row='24' type='image' titlelen="24" typeid="0"} [field:link /] {/dede:flink} 生成的代码:<a href=''>seo</a>  

       {dede:flink row='24' type='image' titlelen="24" typeid="0"}<li>[field:link /]</li>{/dede:flink}生成的代码:<li><a href=''>seo</a></li>  

       {dede:flink type='text'}{/dede:flink}    生成的代码:<li><a href=''>seo</a></li>           

修改实现织梦DedeCms下拉式友情链接 (http://www.dedeadmin.com/?p=567)          

48.arclist调用有图片的文章

① flag='p'               有缩略图才显示  没有缩略图的不显示

② type='image.'          有缩略图才显示  没有缩略图的不显示

调用

① [field:litpic/]       <img src="[field:litpic]" />

② [field:picname/]      <img src="[field:picname]" />  

③ [field:image/]        [field:image/]  对imgwidth='' imgheight='' 定义有效 ==<img src="" /> 

默认的imgwidth和imgheight为120 (include/arc.listview.class.php)

49.父栏目 封面模板、列表模板、文章模板选择之后 让N多子栏目和他有共同的模板。(栏目描述不会修改)

点父栏目高级选项-继承选项 打钩 同时更改下级栏目的浏览权限、内容类型、模板风格、命名规则等通用属性 点确定 然后发现子栏目的模板都自动改了。

50.[field:typelink/] 调用栏目分类

textlink = <a href='arcurl'>title</a>

typelink = <a href='typeurl'>typename</a>

imglink = <a href='arcurl'><img src='picname' border='0' width='imgwidth' height='imgheight'></a>

image = <img src='picname' border='0' width='imgwidth' height='imgheight' alt=’titile’>

51.织梦模板下的栏目页 有图显示图,没图显示默认缩略图。修改为有图显示图,没图不显示

官方:

[field:array runphp='yes']

@me = (empty(@me['litpic']) ? "" : "<a href='{@me['arcurl']}' class='preview'><img src='{@me['litpic']}'/></a>"); 

[/field:array]

修改后:

[field:array runphp='yes']

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

参考网址:http://www.yzzmf.com/html/fangzhanjiqiao/dedejiqiao/2011-09-30/1937.html

52.专题 缩略图(强制缩略图大小,对背景填充)

一张图片在网站中不同尺寸的缩略图。

①。系统-附件设置,把缩略图默认宽度、默认高度设为大于等于你全站所有调用缩略图的最大尺寸

②。include/extend.func.php加入

function thumb($imgurl, $width, $height, $bg = true)

{

global $cfg_mainsite,$cfg_multi_site;

$thumb = eregi("http://",$imgurl)?str_replace($cfg_mainsite,'',$imgurl):$imgurl;

list($thumbname,$extname) = explode('.',$thumb);

$newthumb = $thumbname.'_'.$width.'_'.$height.'.'.$extname; 

if(!$thumbname || !$extname || !file_exists(DEDEROOT.$thumb)) return $imgurl;

if(!file_exists(DEDEROOT.$newthumb)) 

{

include_once DEDEINC.'/image.func.php';

if($bg==true)

{

ImageResizeNew(DEDEROOT.$thumb, $width, $height, DEDEROOT.$newthumb);

}

else

{

ImageResize(DEDEROOT.$thumb, $width, $height, DEDEROOT.$newthumb);

}

}

return $cfg_multi_site=='Y'?$cfg_mainsite.$newthumb:$newthumb;

}

调用方法:

标签 : [field:picname function='thumb(@me,$width,$height,$bg)'/]

参数说明:

$width:缩略图宽度(整数)

$height:缩略图高度(整数)

$bg:是否用空白填补,默认自动填补,背景填充颜色在系统-附件设置里(true/false)

举例: 

调用长宽为100像素的缩略图:[field:picname function='thumb(@me,100,100)'/] 

保留原有比例,不自动填充(不建议):[field:picname function='thumb(@me,100,100,false)'/]

等比例缩放,空白部分背景填充

参考网址:http://bbs.dedecms.com/275267.html

53.复制网页内容时自动加入版权内容代码

<script type=”text/javascript”>

document.body.oncopy = function () { setTimeout( function () { var text =clipboardData.getData(“text”); if (text) { text = text + “\r\n转自:织梦管理员之家[http://www.dedeadmin.com] \r\n原文链接:”+location.href; clipboardData.setData(“text”,text); } }, 100 ) }

</script>

参考网址:http://www.dedeadmin.com/?p=357

织梦统计代码
共有会员:您是第N位客人。http://www.dedeadmin.com/?p=274

54.调用人气、评论数

人气(点击数):<script src="{dede:field name='phpurl'/}/count.php?view=yes&aid={dede:field name='id'/}&mid={dede:field name='mid'/}" type='text/javascript' language="javascript"></script>

评论数:{dede:field.id runphp='yes'}$dsql = new dedesql(false);$dsql -> SetQuery("Select count(id) as c from #@__feedback where aid=".@me);$row = $dsql -> getone();@me=$row['c'];{/dede:field.id}

[field:scores/]    评论数

我要评论 跳转到评论框 

<a  id="commentbeginid" class="icon_repost" onclick="gIsFocus = true; scrollTo(0, findPosY(O('post_inner_id'))) ;  setTimeout('document.getElementById(\'commentText\').focus()',120);   return false;" ></a>

55.数据库被垃圾信息发布 所要处理的表

#@__member    member_company   member_flink   member_person  member_space  member_tj  tagindex  taglist

uploads  arctiny archives addonarticle

56.DedeCms系统未审核投稿禁止动态浏览(收录)解决方案

dedecms用户投稿即使未审核,也是可以动态浏览的(/plus/view.php?aid=***)

编辑打开/plus/view.php文件(注:这个文件是文档的动态浏览文件),找到如下代码:

//检查阅读权限  

$needMoney = $arc->Fields['money'];   $needRank = $arc->Fields['arcrank'];  

在下面一行加入以下代码:

$mid = $arc->Fields['mid'];  

if(($cfg_ml->M_Rank < 1 || $mid <> $cfg_ml->M_ID) && $needRank == -1){       showMsg("你无查看权限",-1);  

    exit();   }  

保存关闭即可。

参考网址:http://www.bbscms.net/html/website/seo/20110910/4446.html

57.导航页面(用图片做)

<ul>

        <li><a href="{dede:global.cfg_cmsurl/}/index.html" class="a0">首页</a></li>

        {dede:channel type='top' row='6' currentstyle="<li class='selected'><a href='~typelink~' class='a~id~'>~typename~</a> </li>"}

 <li><a href='[field:typelink/]' class="a[field:id/]">[field:typename/]</a> </li>

{/dede:channel}

        <!--li class="selected"><a href="#" class="a1">公司简介</a></li>

        <li><a href="#" class="a2">新闻动态</a></li>

        <li><a href="#" class="a3">公司荣誉</a></li>

        <li><a href="#" class="a4">产品介绍</a></li>

        <li><a href="#" class="a5">联系方式</a></li>

        <li><a href="#" class="a6">留言板</a></li-->

      </ul>

58.织梦联动类别

参考网址:http://cms.zz5u.net/dedecms/2010/0128/5284.html

新页红酒: http://xinye.4006300457.com/

59.织梦后台栏目用于导航菜单。

第一种,新建公司简介的栏目,然后在高级选项-列表和文章模板选择你自己要用的模板,然后在栏目内容的地方填上该栏目要显示的内容,在模板内容调用处用{dede:field.content/}调用栏目内容;

第二种,核心-单页文档管理-然后新建你需要的栏目内容,并选择相应模板,更新下、

如果要在导航栏调用,就得对应栏目-更改-常规选项中-外部链接填填写上对应的单页地址即可。

第三种,有的时候,如果公司简介、公司架构只是内容不同的话,完全可以把他们以文章形式发布,然后再导航相应位置调用,这个也可以实现、不过有的时候使用就不合适了。

网站生成目录

栏目描述

相关文章   likearticle

phpurl

插件网址:

分享                          http://www.jiathis.com/share/

无觅相关文章插件               http://www.wumii.com/widget/relatedItems.htm

织梦网址:

织梦帮助文档                   http://help.dedecms.com/v53/

51DEDECMS(模板堂)              http://www.51dedecms.com

织梦吧                         http://www.dedecms8.com/

峰峰blog(dede教程)           http://www.hdmhw.com/

站长那些事                     http://www.dedeadmin.com

萧涵seo                       http://www.xiaohanseo.com/

①用织梦dedecms做网站

②用wordpress博客做网站

③用论坛discuz!和phpwind做网站

标签用法 网址:http://woshao.com/article/43156034afcc11e089d5000c2959fd2a/

Apache下htaccess的配置:http://wenku.baidu.com/view/89541b160b4e767f5acfce1c.html

phpurl

插件网址:

分享                          http://www.jiathis.com/share/

无觅相关文章插件               http://www.wumii.com/widget/relatedItems.htm

织梦网址:

织梦帮助文档                   http://help.dedecms.com/v53/

51DEDECMS(模板堂)              http://www.51dedecms.com

织梦吧                         http://www.dedecms8.com/

峰峰blog(dede教程)           http://www.hdmhw.com/

萧涵seo                       http://www.xiaohanseo.com/

站长那点事                    http://www.dedeadmin.com

①用织梦dedecms做网站

②用wordpress博客,z_blog做网站

③用论坛discuz!和phpwind做网站


你可能感兴趣的:(html,sql,function,Class,文档,include)