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="#" class="username"&gt;[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&
gt;

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

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

①.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'