织梦CMS整理杂项

DEDE织梦数据库批量修改替换文章标题和内容

dede专题列表的使用

------------ DedeTag Engine Create File False --------------

一般为访问权限不够造成这样的错误,更改服务器对网站目录的权限就可以解决这个问题。

-------------- 织梦不能上传 图片 ----------------
php.ini 修改 upload_tmp_dir =C:\Windows\temp

----------------- 织梦调用栏目简介 ------------------------
默认情况下{dede:type}{/dede:type}模板标签是不支持description(描述)调用的,要修改源码才能让type标签支持调用,步骤:

打开include/taglib/type.lib.php。

找到里面的SQL语句,原来sql检索的字段中没有description,添加description字段后为SELECT id,typename,typedir,description,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM `dede_arctype` WHERE id=’$typeid’ “   

然后{dede:type typeid='1'}[field:description/]{/dede:type}这样调用就可以显示了。

------------------ 关于织梦后台DedeCMS:CSRF Token Check Failed提示的处理方法 -------------
打开 dede/file_manage_view.php 找到
$path_parts = pathinfo($filename); 大约处于121行
在它下面一行加入
$GLOBALS['token'] = make_hash();

-------------- 上一篇 下一篇 显示文字字数 -----------
1、打开include/arc.archives.class.php文件

2、查找:$this->PreNext['pre'] = "上一篇:{$preRow['title']} "; 在这一行上面加上以下代码

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

3、查找:$this->PreNext['next'] = "下一篇:{$nextRow['title']} "; 在这一行上面加上以下代码

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

------------全局获取时间--------------
{dede:php runphp='yes'}
  $ntime = time();
  @me=MyDate('Y年m月d日 h时m分s秒',$ntime);
{/dede:php}
直接显示在页面

-----------------------标签------------------
{dede:list col='' titlelen='' infolen='' imgwidth='' imgheight='' listtype='' orderby='' pagesize='' orderway=''}{/dede:list}
参数说明:
col='' 内容列数
titlelen='' 标题长度
infolen='' 内容摘要长度
imgwidth='' 缩略图宽
imgheight='' 缩略图高
orderby='' 排序方式,有效的排序方式有 senddate、pubdate、id、click、lastpost、postnum、weight,默认为 sortrank
pagesize='20' 分页大小
orderway='' 正序或者倒序desc(从大到小) asc(从小到大)

获取子栏目的关键词和栏目描述方法:
  edecms 5.7 的dede:channel标签不支持调用子栏目的关键词及栏目描述,有些时候我们需要用户,需要简单的修改一下文件,如下:
  include\taglib\channel.lib.php文件第86行
  $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
  在后面添加,keywords,description,成如下
  $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,(keywords,description)
  注:()的代码为增加的代码
  在模板中(举例,根据自己的代码灵活使用):
  {dede:channel type='son'  row='6'  typeid='4'} 
      <a href="[field:typeurl/]">[field:typename/]——[field:keywords/]——[field:description /]</a> 
  {/dede:channel} 

文章列表调用:

{dede:arclist titlelen=20 row=5 col="1" orderby=pubdate limit='1,5' typeid="2" }
   <LI><a href="[field:arcurl/]" target=_blank>[field:title/]</a></LI>
{/dede:arclist}

栏目调用:

{dede:channelartlist typeid='2'  row='5'}    
    {dede:global.autoindex/}//自动编号
    {dede:global name='itemindex'/}
       [field:global name='itemindex'/]            
   <a target="_blank" href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a>        
{/dede:channelartlist}

二级栏目调用方法:

{dede:channelartlist typeid='top' typeid='4,5,6'}
  {dede:channel type ='son' }
    <a href="[field:typelink/]" target="_blank">[field:typename/]</a>|
  {/dede:channel}
{/dede:channelartlist}

文章列表:

{dede:arclist row='10' titlelen='35'  orderby ='pubdate' idlist='12,112,139,140'}
    [field:global.autoindex/] //自动增长 从 1 开始
    [field:global runphp='yes' name=autoindex][/field:global]
    <li><img src="../images/w1_[field:global.autoindex/].jpg" /><a href="[field:arcurl/]" target="_blank">[field:title/]</a></li>
{/dede:arclist}    

dede过滤标签:

{dede:trim replace=""}{/dede:trim}

替换:{dede:trim replace='替换后的词语'}要替换的词语{/dede:trim}

获取栏目链接:

       {dede:type typeid='0′ row=1}[field:typelink /]{/dede:type} # typeid 不填获得当前

       {dede:type typeid=''}[field:typeurl/]{/dede:type}

文章点击次数:{dede:field.click/}

----------- 织梦调用相关文章方法 ------------

找到文件:
\include\taglib\likearticle.lib.php

找到代码:
$typeid = " And arc.typeid in($typeid) And arc.id<>$arcid ";

修改为:
$typeid = " And arc.id<>$arcid ";

{dede:likearticle row='8' eregtype=all|tag|keyword}
 
<li><span>[field:pubdate function="MyDate('Y-m-d',@me)"/]</span>·<a href="[field:arcurl/]"  title="[field:fulltitle/]" target="_blank">[field:title/]</a></li>
 
{/dede:likearticle}  

参数说明:

col=” 分多少列显示(默认为单列)
row=’10′ 返回文档列表总数
titlelen = ’30′ 标题长度 等同于titlelength
infolen=’160′ 表示内容简介长度 等同于infolength
mytypeid=0 手工指定要限定的栏目id,用,分开表示多个
innertext = ” 单条记录样式(指标签中间的内容)

---------------- DedeCMS:CSRF Token Check Failed! ----------------

打开 dede/file_manage_view.php 找到 $path_parts = pathinfo($filename); 

在它下面一行加入 $GLOBALS['token'] = make_hash();

------------------------首页分页---------------

dede自由列表分页设置(不使用目录默认主页):

解决方法如下:

打开Dede(默认后台管理目录)目录下的makehtml_freelist_action.php (创建自由列表)找到

$dsql->ExecuteNoneQuery("Update `dede_freelist` set nodefault='1' where aid='$startid';");找到上面代码行,在前面加上// 注释掉就可以了。

增加采集图片的格式:

进入织梦的后台管理目录,默认是dede文件夹,找到/inc/inc_archives_functions.php文件。

在文件里查找gif|jpg|,我找到了4个, 在他们后面加你想采集的格式。这里都加上 |jpeg。保存后生成就可以了。

-------------------内容管理模板-----------------------

内容管理模板文章页调用:
[field:字段名/]-->>[field:renzhi/]
{dede:field.字段名/}--》{dede:field.renzhi/}

调用:
{dede:arclist typeid='3' row='1' addfields='name,sex,tel' channelid='17' }
   [field:title/] 姓名:[field:name/] | 性别:[field:sex/] | 电话:[field:tel/]
{/dede:arclist}

{dede:list pagesize='10' addfields='name,sex,tel' channelid='-17' }
   [field:title/] 姓名:[field:name/] | 性别:[field:sex/] | 电话:[field:tel/]
{/dede:list}

限制内容模型调用字符数:
[field:自定义字段名 function="cn_substr(@me,20)"/]

全局缩略图调用:{dede:field.litpic /}
<img src="{dede:field.litpic /}">

----------------------获取内容栏目方法-------------------------------

{dede:type typeid='0′ row=1}
    <a href="[field:typelink /]"><div class="Mess1_3_T2">更多</div></a>
{/dede:type}

------------dede判断语句----------------

[field:global runphp='yes' name=autoindex] 
    $a="<li style='height:30px;'> </li>"; 
    $b=""; 
    if ((@me%8)==1) @me=$a; 
    else @me=$b; 
[/field:global] 

{dede:channelartlist row='4' type='top' }
    {dede:global.itemindex runphp='yes'} 
        $a='nihao nihao ';
        $b='nihao 2';
        if ((@me)==1) @me=$a;
        else if((@me)==2) @me=$b;
    {/dede:global.itemindex}
{/dede:channelartlist}

判断栏目ID:

{dede:field name='typeid' runphp='yes' function="GetTopid(@me)"}
if(@me==8)
@me='1';
else
@me='0';
{/dede:field}

判断当前页是否为DedeCMS首页

{dede:geturl runphp='yes'}  
$cu = GetCurUrl();  
if( $cu == '/' || $cu == '/index.php' ){  
    @me = 'current';  
}  
{/dede:geturl}

DedeCMS列表页判断字段是否为空:

{dede:field.array runphp='yes'}
   if(@me['shorttitle']==''){ 
      // shorttitle、title 当前调用的字段名 ,id = 文章页ID typeid = 栏目ID title = 文章标题 typename,typelink = 栏目名称 arcurl = 文章链接
      @me=@me['title'];// 注意这个分号,不要忘记了
   }else{
      @me=@me['shorttitle'];// 注意这个分号,不要忘记了
   }
{/dede:field.array}

[field:array runphp='yes']
   if(@me['shorttitle']=='') {
      @me = @me['title'];
   } else {
     @me = @me['shorttitle'];
   }
[/field:array]

DedeCMS文章详细页判断字段是否为空:

{dede:field.price runphp='yes'}
   if(@me<>''){
      @me = '人民币'.@me;// 注意这个分号,不要忘记了
   }else{
      @me='面议';// 注意这个分号,不要忘记了
   }
{/dede:field.price}

---------------------dede自定义宏-------------------------

名称:mytag
功能:自定义宏标记调用标签
语法:{dede:mytag typeid='0' name=''/}
文件:
\include\taglib\mytag.lib.php
function lib_mytag(&$ctag, &$refObj)

默认底层模板:无

参数:
name='' 标记名称,该项是必须的属性,以下 2、3是可选属性
ismake='no' 默认是 no 表示设定的纯HTML代码, yes 表示含板块标记的代码
typeid=0 表示所属栏目的ID,默认为 0 ,表示所有栏目通用的显示内容,在列表和文档模板中,typeid默认是这个列表或文档本身的栏目ID
底层字段:无

---------------------修改自定义列表跳转----------------------

1、打开plus/diy.php,里面有这样一段代码:

2、找到 $goto = !empty($cfg_cmspath) ? $cfg_cmspath : '/'; 代码;

3、修改一下,比如:$goto = "/abc.htm"

4、跳转到当前页:

如果想跳转到当前页面的话:

if($dsql->executenonequery($query)){
  $id = $dsql->GetLastID();
  if($diy->public == 2){
    //diy.php?action=view&diyid={$diy->diyid}&id=$id
    $goto = "diy.php?action=list&diyid={$diy->diyid}";
    $bkmsg = '发布成功,现在转向表单列表页…';
    echo "";
}else{
   $goto = !emptyempty($cfg_cmspath) ? $cfg_cmspath : '/';
   $bkmsg = '发布成功,请等待管理员处理…';
}
showmsg($bkmsg, $goto);

5、打开include下common.func.php文件,找到 --> 如果你的浏览器没反应,请点击这里...

6、修改为:<a href='http://www.jz96.com/{$gourl}' οnclick='history.go(-1)'>如果你的浏览器没反应,请点击这里</a>

--------------------dede数据库字段说明:---------------------
dede数据库字段说明:dede_addonarticle 附加文章表
aid int(11) 文章编号
typeid int(11) 分类栏目编号
body mediumtext 文章内容
dede_addonflash 附加Flash表
aid int(11) FLASH编号
typeid int(11) 分类栏目编号
filesize varchar(10) 文件大小
playtime varchar(10) 播放时长
flashtype varchar(10) 作品类型
flashrank smallint(6) 作品等级
width smallint(6) 影片宽度
height smallint(6) 影片高度
flashurl varchar(80) FLASH地址
dede_addonimages 附加图集表
aid int(11) 图集编号
typeid int(11) 分类栏目编号
pagestyle smallint(6) 表现方式(1单页显示 2分多页显示 3多行多列展示)
maxwidth smallint(6) 大图限制宽度
imgurls text 图片集内容(标签存放)
row smallint(6) 多列式参数(行)
col smallint(6) 多列式参数(列)
isrm smallint(6) 是否下载远程图片
ddmaxwidth smallint(6) 小图片宽度限制
dede_addonsoft 附加软件表
aid int(11) 软件编号
typeid int(11) 分类栏目编号
filetype varchar(10) 文件类型
language varchar(10) 界面语言
softtype varchar(10) 软件类型
accredit varchar(10) 授权方式
os varchar(30) 运行环境
softrank int(11) 软件等级
officialUrl varchar(30) 官方网址
officialDemo varchar(50) 程序演示地址
softsize varchar(10) 软件大小
softlinks text 软件下载链接列表
introduce text 软件介绍
dede_addonspec 附加专题表 aid int(11) 专题编号
typeid int(11) 分类栏目编号
note text 专题内容(仅存放标签代码)
dede_admin管理员信息表
ID int(10) 自动编号
usertype int(10) 用户类型
userid varchar(30) 用户登录ID
pwd varchar(50) 用户密码
uname varchar(20) 用户笔名
tname varchar(30) 真实姓名
email varchar(30) 电子邮箱
typeid int(11) 负责频道(0表示全部)
logintime datetime 登录时间
loginip varchar(20) 登录IP
dede_admintype 系统用户组管理表
rank smallint(6) 组级别编号
typename varchar(30) 组名称
system smallint(6) 是否为系统默认组
purviews text 权限列表
dede_arcatt文档自定义属性表
att smallint(6) 编号
attname varchar(30) 属性名称
dede_archives 文章表
ID int(11) 自动编号
typeid int(11) 所属主栏目编号
typeid2 int(11) 所属副栏目编号
sortrank int(11) 文章排序(置顶方法)
iscommend smallint(6) 是否推荐
ismake smallint(6) 是否生成静态
channel int(11) 文章所属模型
arcrank smallint(6) 阅读权限
click int(11) 点击次数
money smallint(6) 消费点数
title varchar(80) 标题
shorttitle varchar(36) 简略标题
color varchar(10) 标题颜色
writer varchar(30) 作者
source varchar(50) 来源
litpic varchar(100) 缩略图
pubdate int(11) 录入时间
senddate int(11) 发布时间
arcatt smallint(6) 自定属性(att)
adminID int(11) 发布管理员ID
memberID int(11) 发布会员ID
description varchar(250) 摘要
keywords varchar(60) 关键词
templet varchar(60) 文档模板
lastpost int(11) 最近评论时间
postnum int(11) 评论数目
redirecturl varchar(150) 跳转网址
mtype int(11) 用户自定义分类
userip varchar(20) 用户IP
locklikeid smallint(6) 是否锁定相关文章
likeid varchar(240) 相关文章ID
dede_arcrank 阅读权限表
ID int(10) 自动编号
rank smallint(10) 权限等级
membername varchar(20) 等级名称
adminrank smallint(10) 管理等级
money int(11) 消费点数
dede_arctype 栏目管理表
ID int(10) 栏目编号(自动编号)
reID int(10) 父栏目编号
topID int(10)
sortrank smallint(6) 排序编号
typename varchar(30) 栏目名称
typedir varchar(100) 栏目目录
isdefault smallint(6) 栏目列表选项(1链接到默认页 0链接到列表第一页 -1使用动态页)
defaultname varchar(20) 默认页的名称
issend smallint(6) 是否支持投稿
channeltype smallint(6) 频道类型
maxpage int(11) 保留
ispart smallint(6) 栏目属性
corank smallint(6) 浏览权限
tempindex varchar(60) 封面模板
templist varchar(60) 列表模板
temparticle varchar(60) 文章模板
tempone varchar(60) 单独页面模板
namerule varchar(50) 文章命名规则
namerule2 varchar(50) 列表命名规则
modname varchar(30) 模板名称
description varchar(200) 栏目介绍
keywords varchar(100) 关键词
moresite smallint(6) 多站点支持
siterefer smallint(6) 多站点站点根目录属性
sitepath varchar(60) 多站点站点根目录
siteurl varchar(60) 多站点绑定域名
ishidden smallint(6) 是否隐藏栏目
dede_sgpage 单页
上面是一些常用字段,可以在dede后台-》系统-》SQL命令行工具执行sql语句来批量修改!

---------------dede处理data>tplcache文件方法---------------
1、就是在空间直接全选,然后删除,这个比较慢,另一种就是在后台选择系统——病毒扫描——清空模版缓存,这个方法删除的比较彻底。
2、想要解决后患,那么不妨这样操作:
1.首先关闭后台“模板缓存”选项
2.禁止tplcache目录的写入权限。
3.定时在后台进行“系统”>“病毒扫描”>“清空模板缓存”的操作。
4.每隔一段时间,在主机管理面板强行删除tplcache文件夹。

----------去除dede后台验证码------------------
1、管理后台想关闭验证码(如果验证码无法正确输入,不支持GB库)的时候,只需要打开data\safe\inc_safe_config.php  
2、将$safe_gdopen = '1,2,3,5,6'; 中的6删除即可,这样就去掉了织梦管理后台验证码,也就不必去进行繁琐的设置。></dd>

----------------------恢复验证码---------------
打开include文件夹下vdimgck.php文件(一般是倒数第三个)加入ob_clean(); 搜索清除图片生成缓存。

------------- 删除 Power by DedeCms --------
找到 include/dedesql.class.php文件,会发现最新的include/dedesql.class.php文件会多出第588到第592行的那几段如下代码:制空。

-------------dedecms内容页调用栏目链接和栏目名称的方法---------------
在内容页模板时,可直接用 {dede:field.typename/} 来表示当前文档的栏目名称。
 
解决办法: 
第一步:打开 /include/arc.archives.class.php 文件,找到约241行如下代码: 
//设置全局环境变量
$this->Fields['typename'] = $this->TypeLink->TypeInfos['typename'];
 
在其下一行加入如下代码:
//设置全局环境变量 
$this->Fields['typelink'] = $this->TypeLink->GetOneTypeLink($this->TypeLink->TypeInfos); 
$this->Fields['typeurl'] = $this->TypeLink->GetOneTypeUrl($this->TypeLink->TypeInfos);
  
第二步:在你的内容页模板适当位置加入调用代码: 
{dede:field.typelink/} 带链接的栏目名称,如:栏目名称
{dede:field.typeurl/} 仅栏目链接,如:/news

----------------------------无法添加文章 dede----------------------------------------
把数据保存到数据库附加表 `dede_addonarticle` 时出错,请把相关信息提交给DedeCms官方。Duplicate entry ’3′ for key ‘PRIMARY’ 主键是不可重复的,现在重复插入值为3的主键了。可以去掉主键唯一,或是设成自增加。就不会出现这种情况了。

具体操作:
进入后台,“系统” - “系统设置” - “SQL命令行工具”

运行SQL命令行:

alter table dede_addonarticle drop primary key

删除数据SQL语句:
TRUNCATE TABLE `xx_archives`;

------------------ 分页查找  --------------
文章列表页 arc.listview.class.php 搜索 :<li> 添加class
搜索列表页 arc.searchview.class.php 搜索:<td> 添加class 搜索页显示页码 listsize=2*2+1 。
搜索页只显示10条设置:search.php 中 $pagesize = (isset($pagesize) && is_numeric($pagesize)) ? $pagesize : 10;  10修改为想要的数字

----------------- 友情链接 ----------------

找到 includes/taglib 目录 flink.lib.php文件 将$revalue 更改为 $revalue=""; (大概在53--94行)删除

---------------- 版权信息 -------------

include/dedesql.class.php 修改两个数组为空:
$arrs1 = array();
$arrs2 = array();

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值