//作者:莪叆啰 整理:织梦先生 QQ:1234567
//织梦的网站查询手册
//红色为问题集 //橄榄色为注释 //紫色为拓展
1.网站标题(优化):
{dede:field.title/}_{dede:global.cfg_webname/}
2.当前名称:
{dede:field name='typename'/}
3.导航条(父类、子类):
0 1 2 3 4 |
{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.面包屑:
0 1 2 3 4 5 6 |
{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标签的用法
0 1 2 3 4 5 6 7 8 |
{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后面加入
0 1 2 3 4 5 |
if($fielddata[1]=='datetime') { $fields[$field] = GetDateTimeMk($fields[$field]); } |
前台显示:
②.templets/plus/list_diyform.htm 在以下位置添加上面的代码
其它附件</a>”;
}
——————–》》在这个的后面添加以下代码。保存就OK
0 1 2 3 4 5 6 |
if($fielddata[1]=='datetime') { $fields[$field] = GetDateTimeMk($fields[$field]); } |
写在静态页面:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<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 打开在最下边的一串—符号上边,加上
0 1 2 3 4 |
<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小图片等。
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<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:pubdate runphp='yes'] $ntime = time(); $oneday = 3600 * 24; if(($ntime - @me)<$oneday) @me = "new!</font>"; else @me = ""; [/field:pubdate] </a></li> |
给近三天(或当天)发布的文章显示红色日期或加上new字或new小图片等
1、==========红色的日期========
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[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)========
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[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小图片========
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[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’ /中不能用双引号,否则不行
===================================
0 1 2 3 4 5 6 |
[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/ 在其注册一个号
插入类似这种代码:
0 1 2 3 4 |
<!-- 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
功能说明:用于调用最新评论
0 1 2 3 4 5 6 7 8 9 10 |
{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} |
织梦首页
0 1 2 3 4 5 6 7 8 |
{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');
然后找到
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
elseif($do == 2) { 这里,加入验证代码 //验证码验证 $svali = GetCkVdValue(); if(preg_match("/1/",$safe_gdopen)){ if(strtolower($vdcode)!=$svali || $svali=='') { ResetVdValue(); ShowMsg('验证码错误!', '-1'); exit(); } } |
②.在你要引入自由表单的模板页面中加入验证码
0 1 2 |
<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行下加
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
//增加必填字段判断 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
列表页:
0 1 2 3 4 |
{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} |
文章页:
0 |
<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{ 下边注释掉
0 1 2 3 4 5 6 |
/*ResetVdValue(); ShowMsg('验证码不正确!','login.php',0,1000); exit; } else {*/ |
login.htm 27行 注释掉
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<!--<?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,字段'
如:
0 1 2 3 4 |
{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代码:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<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参数。 第一个是缓存名,第二个是单页条数;例如:
0 1 2 3 4 5 6 |
{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'/}
现在贴上一个完整代码供大家测试参考:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
<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.
0 1 2 3 4 |
{dede:tag sort='new' getall='0'} <a href='[field:link/]'>[field:tag /]</a> //出来的效果不带数字 <a href='#'>seo</a> {/dede:tag} |
II.
0 |
{dede:tag row='6' sort='new'/} //出来的效果带数字<a href='#'>1(1)</a> |
①、选择你所要加页面的模板,一般是在首页index.htm 加上如下代码
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<!-- /下面开始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 中加入如下函数。
0 1 2 3 4 5 6 7 8 9 10 |
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>之间加进以下代码:
0 1 2 3 4 5 6 7 8 9 10 11 12 |
{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)'/}" />
改成:
0 1 2 3 4 5 6 7 8 9 10 11 12 |
<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/}” /> 改成:
0 1 2 3 4 5 6 7 8 9 10 11 12 |
<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}" /> |
首页:
0 1 2 |
<meta name="keywords" content="{dede:global.cfg_keywords/}" /> //总体关键字 <meta name="description" content="{dede:global.cfg_description/}" /> /总体描述 |
栏目页(封面页、列表页)直接:
0 1 2 |
<meta name="keywords" content="{dede:field name='keywords'/}" /> //栏目关键字 <meta name="description" content="{dede:field name='description' function='html2text(@me)'/}" /> //栏目的描述 |
文章页
0 1 2 |
<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.用于首页调取公司简介。(部分)
0 1 2 3 4 5 6 7 8 9 10 |
{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网页编辑器添加中文字体的方法:
0 |
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行改为
0 1 2 3 4 5 6 7 8 |
else { $indexpage="<a>首页</a>\r\n"; $prepage.="<a>上一页</a>\r\n"; } |
990行改为
0 1 2 3 4 5 6 7 8 |
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代码如下:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?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代码如下:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
<?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实现今天的日期
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<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'/}
生成的代码是:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<div class="linkbox"> <h3><a href='/a/webbase/'>网页基础</a></h3> <ul> <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.织梦的描述(有描述就显示内容,没有描述就不显示)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
{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} |
0 1 2 3 4 5 6 7 8 |
{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_19871919_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下拉式友情链接
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/] 调用栏目分类
0 1 2 3 4 5 6 |
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.织梦模板下的栏目页 有图显示图,没图显示默认缩略图,修改为有图显示图,没图不显示
官方:
0 1 2 3 4 |
[field:array runphp='yes'] @me = (empty(@me['litpic']) ? "" : "<a href='{@me['arcurl']}' class='preview'><img src='{@me['litpic']}'/></a>"); [/field:array] |
修改后:
0 1 2 |
[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加入
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
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.复制网页内容时自动加入版权内容代码
0 1 2 3 4 |
<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文件(注:这个文件是文档的动态浏览文件),找到如下代码:
0 1 2 |
//检查阅读权限 $needMoney = $arc->Fields['money']; $needRank = $arc->Fields['arcrank']; |
在下面一行加入以下代码:
0 1 2 3 4 |
$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.导航页面(用图片做)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<ul> <li><a href="{dede:global.cfg_cmsurl/}/index.html">首页</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><a href="#">公司简介</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/}调用栏目内容;
第二种,核心-单页文档管理-然后新建你需要的栏目内容,并选择相应模板,更新下、
如果要在导航栏调用,就得对应栏目-更改-常规选项中-外部链接填填写上对应的单页地址即可。
第三种,有的时候,如果公司简介、公司架构只是内容不同的话,完全可以把他们以文章形式发布,然后再导航相应位置调用,这个也可以实现、不过有的时候使用就不合适了。
下载地址:http://pan.baidu.com/s/1i3f9uF7