怎样使用织梦CMS(DEDECMS)

2020年1月2日 | 分类: 【技术】

需求:批量处理数据库

参考:http://home.alltj.cn/xinwenzhongxin/xingyexinwen/2015/1102/14729.html

需求:删除文章中的链接标签和图片标签

参考:http://bbs.dedecms.com/simple/?t125317.html

替换前,请先备份数据。如出问题,须先进phpmyadmin清空数据库数据,再还原即可回复。

1. 选择数据表: dede_addonarticle

2. 选择要替换的字段:body

3. 替换方式:选中“正则表达式” 主键字段为: aid (正则模式必须指定)

4. 被替换内容:

链接标签:

<a([^>]*)>
[shell]

链接标签:

[shell]
<img([^>]*)>
[shell]

5. 替换为:不填

6. 替换条件: 不填

7. 点击“开始替换数据”即可

结果:
1. 链接被去掉,仅余链接的文字部分。
2. 图片链接被去掉。

<strong>需求:发布文章和采集时仅动态发布</strong>

修改以下模板就:
dede/templets/article_add.htm 发表普通模板
dede/templets/album_add.htm 发表图集模板
dede/templets/archives_add.htm 发表通用文档模板
dede/templets/archives_sg_add.htm 发表特殊类文章模板

修改 article_add.htm 的575行:

[php]
          <td width="90">发布选项:</td>
          <td width="379"><input name="ishtml" type="radio" class="np" value="1" checked="1" />
生成HTML
  <input type="radio" name="ishtml" class="np" value="0"/>
仅动态浏览 </td>
[/php]

为:

[php]
          <td width="90">发布选项:</td>
          <td width="379">
				<input name="ishtml" type="radio" class="np" value="1" />生成HTML  
				<input name="ishtml" type="radio" class="np" value="0"  checked="1" />仅动态浏览
		  </td>
[/php]

<strong>需求:批量修改动态发布为静态生成,或者反过来修改</strong>

如果发布时设置为动态发布,那么在批量生成时是否生成静态?如果不,可以批量修改动态发布为静态生成,或者反过来修改。

打开 dede_archives 这个表,ismake 字段是要修改的对象。

[shell]
UPDATE `dede_archives` SET `ismake` = '1' #修改所有文档为静态发布
UPDATE `dede_archives` SET `ismake` = '-1' #修改所有文档为动态浏览

如果针对栏目进行设置:

update dede_arctype set isdefault=-1 #将所有栏目设置为“使用动态页”
update dede_arctype set isdefault=1 #将所有栏目设置为“使用静态页”

需求:取消远程图片转为本地图片

编辑:dede/templets/archives_add.htm

<input name="remote" type="checkbox" class="np" id="remote" value="1"<?php if($cfg_rm_remote=='Y') echo ' checked="1" '; ?> />

将Y改为N。

编辑:dede/templets/archives_edit.htm

<input name="remote" type="checkbox" class="np" id="remote" value="1" checked>

将value=”1″ checked中的1改为0,将checked去掉。

需求:修改文档标题最大长度

在控制面板修改文档标题最大长度参数后,比如设置为100,需要手工修改数据表,修改简略标题的长度。

DEDECMS中的“简略标题”默认长度为36个字符,即18个汉字。

1. 修改数据库字段设置,找到dede_archives表,再找到shorttitle字段,将值由36修改为100。

2. 修改管理后台目录(默认目录为/dede/)下的核心文件,批量替换里面的源代码,把36修改为100。

archives_add.php
archives_do.php
archives_edit.php
article_add.php
article_edit.php
$shorttitle = cn_substrR($shorttitle,36);

需求:希望文章ID从指定数字开始,至少8个数字,那么从10000000,预设容量900万条

1. 发布一篇文章
2. 在phpMyAdmin中打开dede_archives表、dede_arctiny表、dede_addonarticle表中此文章的ID为10000000。
3. 发布第二篇文章的ID即为100001。此时删除第一篇文章。

参考:http://www.55of.com/cms/dedecms/188
参考:http://www.bkjia.com/dedecms/339121

INSERT INTO `dede_addonarticle` (`aid`, `typeid`, `body`, `redirecturl`, `templet`, `userip`) VALUES
(10000000, 1, 'Fisrt Article', '', '', '144.34.216.232');
INSERT INTO `dede_archives` (`id`, `typeid`, `typeid2`, `sortrank`, `flag`, `ismake`, `channel`, `arcrank`, `click`, `money`, `title`, `shorttitle`, `color`, `writer`, `source`, `litpic`, `pubdate`, `senddate`, `mid`, `keywords`, `lastpost`, `scores`, `goodpost`, `badpost`, `voteid`, `notpost`, `description`, `filename`, `dutyadmin`, `tackid`, `mtype`, `weight`) VALUES
(10000000, 1, '0', 1545707252, '', 1, 1, 0, 60, 0, 'Fisrt Title', '', '', '未知', '未知', '', 1545707252, 1493086954, 1, 'wwsss,', 0, 0, 0, 0, 0, 0, 'wwsss', '', 1, 0, 0, 13);
INSERT INTO `dede_arctiny` (`id`, `typeid`, `typeid2`, `arcrank`, `channel`, `senddate`, `sortrank`, `mid`) VALUES
(10000000, 1, '0', 0, 1, 1493086954, 1545707252, 1);

需求:在指定文章ID区间批量删除

在后台一条条的删除文章的话实在太慢了,可以使用SQL批量删除aid文章:

DELETE FROM dede_addonarticle WHERE aid >= 10000000 and aid <=10000035;
DELETE FROM dede_arctiny WHERE id >= 10000000 and aid <=10000035;
DELETE FROM dede_archives WHERE id >= 10000000 and aid <=10000035;

参考:http://jingyan.baidu.com/article/414eccf63ab2e96b421f0a47.html