DedeCMS织梦内容管理系统二次开发模板标签手册及常见问题汇总

  1. DedeCMS标签手册_0.0.1:http://help.dedecms.com/tagdoc/v57/index.htm
    织梦CMS模板制作手册:http://bbs.dedecms.com/454830.html
    Dede标签速查手册:http://bbs.dedecms.com/516396.html
    织梦标签全部调用方法:http://article.woshao.com/43156034afcc11e089d5000c2959fd2a
    织梦CMS二次开发常见问题汇总:http://bbs.dedecms.com/466640-1.html
  2. dedecms织梦模板循环标签输出自定义变量的方法
    在dedecms模板标签中,如果要调用一个全局变量,一般直接这样调用就可以了{dede:global.cfg_static_url/}但如果在循环标签中这样调用,就会调用不正常,会把标签代码直接输出到界面上。

    {dede:arclist row='4' titlelen='28' orderby='pubdate' typeid='2' flag='a'}
    <li><a href="{dede:global.cfg_static_url/}[field:arcurl/]" target="_blank">[field:title/]</a></li>
    {/dede:arclist}
    

    正确的调用方式应该是将{dede:global.cfg_static_url/}写成[field:global.cfg_static_url/]

  3. dedecms怎么获取文章列表 dedearclist标签循环次数
    当我们做推荐或热点文章列表的时候,很想在前10条记录的标题前,加上不同的小标志,比如从1到10的数字等,无奈我们用<li></li>等循环时,里面的每一条记录都是一样的,不可能用不同的CSS样式分别定义不同的标题文章,当然您也可以事先做一个图,因为ul的高度和每个li的高度间距等都是固定和可预见的,直接把这个图作为UL的整个背景也可以实现,不过这样总感觉不爽,下面的代码可以让您为每个<LI>定义不同的css样式,即实现这样的功能:
    <ul>
    <li>标题链接</li>
    <li>标题链接</li>
    <li>标题链接</li>
    <li>标题链接</li>
    <li>标题链接</li>
    </ul>标签代码如下:
    <ul>
    {dede:arclist titlelen=34 row=5 orderby='hot' typeId='74'}
    <li><a href="[field:arcurl/]" target=_blank>[field:title/]</a></li>
    {/dede:arclist}
    </ul>这样我们就可以用循环次数来设定每个li的样式了。另一用法示例:
    [field:global.autoindex runphp='yes'] if (@me % 3==0){@me="当前是循环的第 @me 次,我能被3整除";} else{@me="";} [/field:global.autoindex]
  4. 在使用了 runphp='yes'的标签写法中,调用全局变量的方法:
    示例一:[field:array runphp='yes'] global $cfg_webname;@me = $cfg_webname; [/field:array]
    示例二:

    [field:array runphp='yes']global $cfg_webname; @me = (empty(@me['litpic']) ? "" : "<a target='_blank' href='{@me['arcurl']}'><img src='$cfg_webname{@me['litpic']}' alt='{@me['title']}' class='thum_small'/></a>"); [/field:array]
  5. 二次开发常见问题汇总
    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('&nbsp;','',$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"  /><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/ 在其注册一个号   账号:qiwen5de@126.com   密码: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="#">[field:username function="(@me=='guest' ? '游客' : @me)"/]</a> 评论 <a href="[field:global.cfg_phpurl/]/feedback.php?aid=[field:aid/]">[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" 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>[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>[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>
    <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>
    <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.织梦的描述(有描述就显示内容,没有描述就不显示)
    {dede:field.description runphp='yes'}
    if(@me!='' )@me = '
    <div>'.@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>【导读】:'.@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" 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">首页</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/]'>[field:typename/]</a> </li>
    {/dede:channel}

    <!--li><a href="#">公司简介</a></li>
    <li><a href="#">新闻动态</a></li>
    <li><a href="#">公司荣誉</a></li>
    <li><a href="#">产品介绍</a></li>
    <li><a href="#">联系方式</a></li>
    <li><a href="#">留言板</a></li-->
    </ul>

    58.织梦联动类别
    参考网址:http://cms.zz5u.net/dedecms/2010/0128/5284.html
    新页红酒: http://xinye.4006300457.com/

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

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

    第二种,核心-单页文档管理-然后新建你需要的栏目内容,并选择相应模板,更新下、
    如果要在导航栏调用,就得对应栏目-更改-常规选项中-外部链接填填写上对应的单页地址即可。

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

    插件网址:
    分享                          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/

    标签用法 网址:http://woshao.com/article/43156034afcc11e089d5000c2959fd2a/
    Apache下htaccess的配置:http://wenku.baidu.com/view/89541b160b4e767f5acfce1c.html

发表评论?

0 条评论。

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据