织梦(DEDECMS)的有关知识和问题的处理

0.织梦sql语句查询
织梦查询:SELECT `typename` FROM `dede_arctype` WHERE reid=1
查询栏目总数的SQL语句:select count(*) as c from dede_arctype

1.修改后台标题的名称:/include/common.inc.php中一下部分修改;
//软件摘要信息,****请不要删除本项**** 否则系统无法正确接收系统漏洞或升级信息
$cfg_version = '';
$cfg_soft_lang = 'gb2312';
$cfg_soft_public = 'base';

$cfg_softname = '南宁中南医院';
$cfg_soft_enname = 'DedeCMS';
$cfg_soft_devteam = 'DedeCMS官方团队';

注:传到服务器修改数据库配置文件:/data/common.inc.php

2.修改后台系统主页底部的版权信息:/dede/templets/index_body.htm

3.修改登入页面底部的广告以及版权信息:/dede/templets/login.htm

4.修改织梦弹出的对话框信息:/include/common.func.php

5.修改后台顶部的信息:/dede/templets/index2.htm

5.利用本地ip访问本地服务器的网站需修改配置文件:Apache中的配置文件:httpd.conf文件
位置是:DocumentRoot "F:/wamp/www"
<Directory "F:/wamp/www">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   AllowOverride FileInfo AuthConfig Limit
    #
    AllowOverride All

    #
    # Controls who can get stuff from this server.
    #
#    Require all granted
#   onlineoffline tag - don't remove
     Order Deny,Allow
     #Deny from all
     Allow from all
     #Allow from 127.0.0.1
     #Allow from ::1
     #Allow from localhost
     
</Directory>

6.织梦dedecms后台发布文章提示“标题不能为空”

问题症状:V5.7登录后台后,发布英文标题没问题,发布中文会提示“标题不能为空”。

问题根源:htmlspecialchars在php5.4默认为utf8编码,gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。

解决办法:给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。

具体修改页面:

1).dede/article_add.php 和 dede/article_edit.php

将 $title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen));
改成
$title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen),ENT_COMPAT ,'GB2312');

2).include/ckeditor/ckeditor_php5.php 138行
将htmlspecialchars($value)替换为htmlspecialchars($value, ENT_COMPAT ,'GB2312')

测试,发布文章成功。

7.织梦文章页关键词自动去链接的方法:
织梦关键词替换链接修改文件

首先需要修改一下系统文件(大家最好先备份一下文件,再修改,不怕一万就怕万一嘛)

找到:arc.archives.class.php文件一般在/include/arc.archives.class.php下

文件用记事本打开找到这一段:

foreach($kws as $k)
{
$k = trim($k);
if($k!="")
{
if($i > $maxkey)
{
break;
}
$myrow = $this->dsql->GetOne("select * from cz_keywords where keyword='$k' And

rpurl<>'' ");
if(is_array($myrow))
{
$karr[] = $k;
$GLOBALS['replaced'][$k] = 0;
$kaarr[] = "<a href='{$myrow['rpurl']}'><u>$k</u></a>";
}
$i++;
}
}

把他替换成:

$dsql = new DedeSql(false);
$query="select * from dede_keywords where rpurl<>'' ";
$dsql->SetQuery($query);
$dsql->Execute();
while($row = $dsql->GetArray())
{
$key = trim($row['keyword']);
$rul=trim($row['rpurl']);
if($rul!="")
if(!in_array($key, $kw))
if(!in_array($kw,$key))
if(substr_count($body,$key)<5)
{
$karr[] = $key;
$kaarr[] = "<a href='$rul'><u>$key</u></a>";
}
}

用上传工具将原文件覆盖即可

发表文章前:

1).进入dedecms后台>系统>系统基本参数>核心设置>关键字替换(是/否),这里选择“是”。

2).然后 后台>采集>文档关键词维护, 在这里面设置关键词以及指向网址的链接。

这样发表文章时可以自动加上你设置的关键词链接了,特别注意的是在发表文章时[tag标签]内容处

不必要填空着就行,所有关键词及其链接都在上面第二部完成,多次测试,只要关键词和链接设置好了

,所有文章重新生成一下,都会出现设置的链接

8.对于采集后的文章没有自动生成描述采取方法:
后台-采集-自动摘要/分页-开始执行分析即可

9.织梦内容页按点击数增加点击量的方法:
<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>次

10.修改织梦position中的主页链接:在include/ typelink.class.php
//获得某类目的链接列表 如:类目一>>类目二>> 这样的形式
    //islink 表示返回的列表是否带连接
    function GetPositionLink($islink=true)
    {
        $indexpage = "<a href='/'>".$this->indexName."</a>";
        if($this->valuePosition!="" && $islink)
        {

11.在后台修改$cfg_webname不起作用
解决办法:一般是缓存问题,修改dada中有关的文件,或者将其删掉

12.对于伪静态的站当织梦后台打开一片空白时,重新安装后文章打开不是伪静态链接,在后台的系统基本参数中设置,将其开启伪静态提交即可。

13.开发留言版时,当输入中文提交留言时弹出“标题和内容不能为空”,是因为织梦默认的编码是utf-8的。解决办法:
F:/wamp/www/DEDEcms/plus/guestbook.php
    $ip = GetIP();
    $dtime = time();
    $uname = htmlspecialchars(cn_substrR($uname),ENT_COMPAT ,'gb2312');//修改后的样式
    $email = trimMsg($email);
    $homepage = trimMsg($homepage);
    $homepage = preg_replace("#http:////#", '', $homepage);
    $qq = trimMsg($qq);
    $msg = htmlspecialchars(cn_substrR($msg, 1024),ENT_COMPAT ,'gb2312');//修改后的样式
    $tid = empty($tid) ? 0 : intval($tid);
    $reid = empty($reid) ? 0 : intval($reid);
留言模块的学习在:F:/wamp/www/DEDEcms

14.后台登入去掉验证码:
登录FTP或者本地测试的文件夹data下的safe文件,打开,找到inc_safe_config.php此文件。
有记事本或者notepad等工具打开,看到如图代码,将里面的“6”,去掉,保存即可。/

15.解决织梦标签字数的限制
一、我们通过织梦DEDECMS后台程序中的系统设置栏目下的SQL命令行工具,来修改数据库中表dede_tagindex
和dede_taglist的tag字段属性,将TAG字段属性中的 varchar(12) 修改为
varchar(200)。将下面的代码复制到SQL命令行工具当中去,可以两段代码同时复制进行一起执行。

ALTER TABLE `dede_tagindex` CHANGE `tag` `tag` VARCHAR( 255 ) CHARACTER SET
utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '';

ALTER TABLE
`dede_taglist` CHANGE `tag` `tag` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE
utf8_general_ci NOT NULL DEFAULT '';

提示:SQL代码是针对默认TAG表前缀写的,如果你有更改过,那么你记得把dede_tagindex和dede_taglist改成自己的TAG表前缀即可。

二、执行完SQL命令以后,再到源文件当中修改/include/helpers/archive.helper.php路径文件中的参数。

按快捷键CTRL+F查找:if(isset($tag[12]) ||
$tag!=stripslashes($tag))

然后再修改替换成:if(isset($tag[255]) ||
$tag!=stripslashes($tag))

16.织梦中标题截取字符 不够用省略补充的代码
[field:title  function='( strlen("@me")>30 ? cn_substr("@me",30)."..." : "@me" )'/]

17.织梦网站地图文件: /templets/plus/sitemap.htm

18.网站生成时提示:DedeTag Engine Create File False
   提示错误DedeTag Engine Create File False,那么我们就需要找到这个出错误的文件就可以解决问题了,怎么找这个出错误的dedecms文件呢?
这样的问题其它是很简单的,一般都是文件权限问题。linux下文件要修改权限为777,windows下就不用管了。
现在就说说怎么找出错误的文件。

在你的ftp里找到include/dedetag.class.php文件,搜索"DedeTag Engine Create File False",找到以下代码

$fp = @fopen($filename,"w") or die("DedeTag Engine Create File False");

 修改成

$fp = @fopen($filename,"w") or die("DedeTag Engine Create File False:$filename");

 重新生成时,即可提示当前文件信息。

19.织梦留言知识
找到【templets/plus/guestbook.htm】里提交留言的那个form模块(默认是从143行到217行),复制到首页模板里面,然后把from的action提交修改成/plus/guestbook.php,之后改改css样式就ok了

20.织梦后台文章预览怎么去掉问号后面的数字(时间):
打开dede(CMS后台目录,一般都修改为其它名称)目录,编辑archives_do.php文件。
echo "<script language='javascript'>location.href='$arcurl"."';</script>";//"?".time(). 前边代码为备份,可以直接删除
同样:修改栏目成静态:修改文件:/include/typeunit.class.admin.php中
 echo "<a href='{$GLOBALS['cfg_phpurl']}/list.php?tid={$id}' target='_blank'>预览</a>";替换成:
echo "<a href='{$GLOBALS['cfg_basehost']}$typeDir' target='_blank'>预览</a>";
注意:此时的typedir可看后台栏目的命名做以修改即可;

21.文章页中病种词自动增加连接:
1):开启设置里面的使用关键词关连文章,系统==系统基本参数==核心设置(改为是)
2):系统==系统基本参数==其它选项 文档内容同一关键词替换次数(0为全部替换)(改为1)
3):核心==批量维护==文档关键词维护==分析系统内关键字(添加关键字加链接);
4):更新文章页;

22.批量删除后台关键词维护:
执行sql语句:
delete from dede_keywords

23.织梦手机站调用公共顶部和底部文件:(用一下三种情况调试)
{dede:include filename="/wap/header.php"/}
<?php include("/wap/header.php");?>
<?php include("header.php");?>

24.判断栏目id 根据需要显示相关内容
{dede:field.typeid runphp='yes'}
    if(@me=='11' )@me = '这里是需要显示的内容';
    elseif(@me=='10')@me ='这里是需要显示的内容';
    elseif(@me=='14')@me ='这里是需要显示的内容';
    elseif(@me=='79')@me ='这里是需要显示的内容';
    elseif(@me=='13')@me ='这里是需要显示的内容';
    elseif(@me=='75')@me ='这里是需要显示的内容';
{/dede:field.typeid}

25.织梦tag标签的使用:
dede标签调用的基本语法是:
{dede:tag row='30' sort='new' getall='0'}
<a href='[field:link/]'>[field:tag /]</a>
{/dede:tag}

参数说明:
row='30' 调用条数
sort='new' 排序方式 month,rand,week
getall='0' 获取类型 0 为当前内容页TAG标记,1为获取全部TAG标记
另有

最新标签
{dede:tag row='30' sort='new'} [field:highlight/]([field:result/]) {/dede:tag}

当月热门标签
{dede:tag row='30' sort='month'} [field:tagname/]([field:result/]) {/dede:tag}

随机标签
{dede:tag row='60' sort='rand'} [field:highlight/]([field:result/]) {/dede:tag}

内容页tag添加:
{dede:
tag type='current'/}

26.调用有缩略图的列表;
<!--列表 -->    
{dede:list infolen='200' orderby="id" pagesize="10" orderway="asc" listtype="image" }
[field:array runphp='yes']@me = (strpos(@me['litpic'],'defaultpic') ? "" : "<DIV class='list'>
<H3 class='ls_t'><A title='{@me['title']}' class='blue' href='{@me['arcurl']}' target='_blank'>{@me['title']}</A></H3>
<P class='ls_c'><a href='{@me['arcurl']}' class='preview' title='{@me['title']}' target='_blank'>
<img src='{@me['litpic']}' width=130 height=130/></a><span>{@me['infos']}......<A class='red' href='{@me['arcurl']}' target='_blank'>【查看全文】</A></span></P></DIV>"); [/field:array]  {/dede:list}

27.织梦手机站二次开发文章页模板获取上一篇和下一篇内容标题和链接的方法;
在wap.php的文章部分添加:

    //获取同分类前一条的id和title
    $query = "Select id,title FROM `dede_archives` where id<'$id' AND typeid='$typeid' order by id desc limit 1";
    $row = $dsql->GetOne($query,MYSQL_ASSOC);
    (!empty($row[id])) ? $prev_arc_id = $row[id] : $prev_arc_id = $id;
        (!empty($row[title])) ? $prev_arc_title= $row[title] : $prev_arc_title = "没有了";

    //获取同分类后一条的id和title
    $query = "Select id,title FROM `dede_archives` where id>'$id' AND typeid='$typeid' order by id asc limit 1";
    $row = $dsql->GetOne($query,MYSQL_ASSOC);
    (!empty($row[id])) ? $next_arc_id = $row[id] : $next_arc_id = $id;
        (!empty($row[title])) ? $next_arc_title= $row[title] : $next_arc_title = "没有了";

28.wampserver服务器中的mysql服务无法启动,也就是电脑控制面板中服务中的mysql服务不能启动。错误代码:1067;进程意外终止;
解决:
进入安装目录-->data文件夹,这个文件夹里的每一个子文件夹都是一个数据库,其他四个文件是启动服务时生成的,删除两个文件即可。如下:
F:/wamp/bin/mysql/mysql5.6.12/data中的:ib_logfile0和ib_logfile1这两个文件;
或者:修改安装目录下my.ini文件夹中的这句话“datadir="D:/Program Files/MySQL/MySQL Server 5.0/Data"”也是可以的,就是新建立一个存放data的文件夹。

29.织梦指定文章id调用文章的标签使用:
{dede:arclist idlist='指定文章ID号' limit='0,1'  titlelen='24' infolen='200'}{/dede:arclist}

30.织梦文章页点击量刷新增加的方法:
<script src="{dede:field name='phpurl'/}/count.php?view=yes&aid={dede:field name='id'/}&mid={dede:field name='mid'/}&cid={dede:field name='channel'/}" type='text/javascript' language="javascript"></script>

31.wamp中多个站点的配置(可用自己的域名)
1)修改配置文件:F:/wamp/bin/apache/Apache2.4.4/conf/httpd.conf
2)查找Include conf/extra/httpd-vhosts.conf,去掉前面的#号
3)继续在配置文件里面查找Deny from all,并且在每一个Deny from all下面添加Allow from al,整个配置文件有三处
4)修改httpd-vhosts.conf中信息,其路径为:../wamp/bin/apache/apache2.2.8/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
 DocumentRoot "F:/wamp/site/seoblog"  //网站路径
 ServerName www.seoblog.com  //自定义的域名
</VirtualHost>
5)修改本地hosts文件,hotst里面的域名要与上面配置文件里面相对应,其路径为:C:/Windows/System32/drivers/etc/hosts
127.0.0.1       localhost
127.0.0.1       www.dedeblog.com
127.0.0.1       www.seoblog.com

最后重启wamp即可;
注意:如需要用局域网或是127.0.0.1访问网站(只能访问一个,只需将F:/wamp/bin/apache/Apache2.4.4/conf/httpd.conf中的Include conf/extra/httpd-vhosts.conf前面#加上即可);

32.织梦调用评论标签:
{dede:feedback row='6' titlelen='24' infolen='80'}
<li><a href="[field:global.cfg_phpurl/]/view.php?aid=[field:aid/]" title="[field:title/]上的评论">
<img alt='' src='/ezhanku/img/head.png' class='avatar avatar-36 photo' height='36' width='36' /><strong>[field:username function="(@me=='guest' ? '游客' : @me)"/]:</strong>[field:msg/]</a></li>
{/dede:feedback}

33.假如修改了后台基本参数但是生成文件之后有些标题、关键字并没有改变,可能是缓存文件的原因:
需查看文件:F:/wamp/hospitor/jlzl120/data/config.cache.inc.php

34.织梦根据判断根据栏目的id跟换样式或者图片的方法举例:
  <div class="banner">
    {dede:field runphp='yes' name = 'typeid'}
        if(@me==9||@me==13||@me==14||@me==15){
            @me='<div class="banner01_zj">';
        }elseif(@me==5||@me==7){
            @me='<div class="banner01">';
        }elseif(@me==8||@me==325){
            @me='<div class="banner01_new">';
        }elseif(@me==1||@me==2||@me==240){
            @me='<div class="banner01_about">';
        }else{
            @me='<div class="banner01_orther">';
        }
         {/dede:field}
 </div>

35.织梦关于搜索模板页面提取搜索的内容的方法:
{dede:global name='keyword' function='RemoveXSS(@me)'/}

36.织梦问答模块的调用标签及调用内容(content)的方法:
{dede:ask row='6' qtype='new' tid='0' titlelen='24'}
        <li class="lar5"></li>
        <li><img src="[field:global.cfg_templets_skin/]/index_images/q.png" >问题: [field:title/]</li>
        <li><img src="[field:global.cfg_templets_skin/]/index_images/a.png" >回复:[field:content function=' ( strlen("@me")>23 ? cn_substr("@me",100)."..." : "@me" ) ' /][详情]</li>
{/dede:ask}

调用内容(content)需到后台标签源码管理中修改ask.lib.php 文件中的sql语句;

37.织梦利用php源码调用文件的方法:
  <?php include(DEDEASK."/templates/default/header.htm"); ?>


38.直接获取上传图片标签
<ul>
{dede:arclist typeid=61 row=6 titlelen=14 orderby='pubdate' imgwidth=90 imgheight=65}
<li>[field:imglink/]//直接获取了图片的路劲和链接
<p><a href='[field:arcurl/]' title="[field:title/]">[field:title/]</a></p>
</li>
{/dede:arclist}
</ul>

39.取单个文档的id(后台调用单个对应的内容)
{dede:arclist idlist='7541'  titlelen=6 orderby='pubdate' infolen='120'  }
    <dl>
    <dt><strong><a href='[field:arcurl/]'>[field:title/]</a> </strong> 副主任医师</dt>
       <dd class="bjs">
    <p><strong>专家资质:</strong>不孕症首席专家</p>
    <p><strong>专家介绍:</strong>[field:info/]..<a href="[field:arcurl/]"  target="_blank">[详细内容]</a></p>
       </dd>
       <dd class="btn"><a target="_blank" href="http://lkt.zoosnet.net/LR/Chatpre.aspx?id=LKT61358066">
      <img src="[field:global.cfg_templets_skin/]/index_article_files/pic_41.jpg" width="145" height="36"></a>
           </dd>
    </dl>
{/dede:arclist}

40.怎么修改织梦(dedecms)后台左侧菜单栏信息
找到网站后台目录dede/inc/inc_menu.php,修改里面的内容即可;

【后期有再补。。。】
  
支付宝扫码打赏 微信扫码打赏

如果本文对你有帮助,欢迎打赏本站

喜欢 ()or分享
    匿名评论
  • 评论
人参与,条评论