CMS-织梦[dede]-通用免登发布插件
- 1. 织梦通用免登陆发布插件功能说明
- 2. 织梦通用免登陆发布接口使用说明
- 2-1 下载插件
- 2-2 安装插件
- 3 对接火车头等采集工具
- 3 爬虫【古诗文网】示例[可选]
- 测试火车头入库模型
使用火车头,简数采集器,八爪鱼等文章采集工具,采集的数据要怎么发布到自己的织梦CMS网站呢?可用对应的发布插件接口来接收数据,然后处理接收的数据写入网站。
织梦(DedeCMS)通用免登陆文章发布插件(PHP版)支持对接大部分采集工具(火车头,简数等都可以),只要填写对应参数,就可以轻松批量发布到自己的织梦Dede cms网站。
网络上此类功能比较常见, 亲测后发现存在各种问题, 比如不支持扩展字段,确实建表语句等各种原因,导致插件使用不变。
1. 织梦通用免登陆发布插件功能说明
I、免登陆使用方便简单;
II、安全:发布时支持密码验证功能,大大增加安全性;
III、可指定发布分类栏目;
IV、免重复发布机制:相同标题文章不重复发布;
V、插件基于织梦dede5.7-SP2版本开发,暂时只支持文章已经基于文章的扩展模型模型;
VI、插件是开源的,可以自行增加对应新功能;
2. 织梦通用免登陆发布接口使用说明
2-1 下载插件
链接:https://pan.baidu.com/s/13zlaKOkCbvXFMqYRHAHing?pwd=omdy
提取码:omdy
2-2 安装插件
I、下载插件后,选择网站对应的字符编码(UTF_8或GBK)安装包,解压出对应的xml文件。
II、然后进入织梦后台,左侧菜单点击 [模块] ,然后在模块管理下点击 [上传新模块] 选项,选择对应字符编码的xml文件,点击 [确定] 按钮,然后跟着安装指引一步步安装即可。
关键表结构初始化语句:
注意: 此表若安装模块后未成功创建,可以手动操作。其中默认表前缀为“dede_”,基于安装环境变更。 若表不存在, 则无法保存免登密码
-- ----------------------------
DROP TABLE IF EXISTS `dede_articlepost_config`;
CREATE TABLE `dede_articlepost_config` (`id` int NOT NULL AUTO_INCREMENT,`meta_key` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,`meta_value` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of dede_articlepost_config
-- ----------------------------
INSERT INTO `dede_articlepost_config` (`id`, `meta_key`, `meta_value`) VALUES ('1', 'password', '123456');
INSERT INTO `dede_articlepost_config` (`id`, `meta_key`, `meta_value`) VALUES ('2', 'titleUnique', '1');
SET FOREIGN_KEY_CHECKS = 1;
III、安装成功后,在左侧菜单 [模块] 下可以看到 [免登陆发布配置] 选项,进入修改默认密码,重复发布机制也是在此处设置的:相同标题文章不重复插入,勾上即生效;
IV、特别要注意的:如果你网站的PHP版本是7及以上的,请在安装插件前修改一处代码,否则会安装失败无法使用的:
在你网站找到该文件/include/dedeatt.class.php,然后修改此处代码,约在23行左右
//约在23行左右
var $Items = "";
//修改成以下代码
var $Items = array();
二开模块插件,在/data/module/标识号.xml文件,把这个文件发送给别人安装即可。
3 对接火车头等采集工具
I、在采集工具创建对接的模块或目标,填写发布的地址:
http://www.域名.com/articlePost/index.php?__post_flag=post
II、填写要发布的参数名称及映射哪些内容,这里列出常用的几个参数:
__post_password[标签:免登密码]//发布密码,对应先在接口文件里设置的密码。[建议必填]title[标签:标题]//标题。[必填]body[标签:内容]//内容。[必填]typeid[分类ID]//文章栏目( 。[必填]channel[标签:频道id]//频道模型,暂时只支持文章模型,一般是填写数字1。[必填]writer[标签:发布人]//DEDE发布用户登录名。[必填]pubdate[标签:发布时间]//发布时间。[可选]username[标签:管理员]//系统登录用户
举例
火车头插件导入成功后:
检查发布结果
最后就可以将采集的数据,批量自动发布到网站了。
3 爬虫【古诗文网】示例[可选]
__post_password[标签:免登密码]title[标签:标题]body[标签:内容]typeid[分类ID]channel[标签:频道id]writer[标签:发布人]pubdate[标签:发布时间]username[标签:管理员]yiwen[标签:译文]zhushi[标签:注释]jianshang[标签:鉴赏]year[标签:朝代]author[标签:作者]shangxi[标签:赏析]chuangzuobeijing[标签:创作背景]source_url[标签:来源url]
测试火车头入库模型
使用基本文章模型检测入库结果
$userinfo=admin{"rs":0,"code":1405,"data":"save to addtable error","msg":"%E6%8A%8A%E6%95%B0%E6%8D%AE%E4%BF%9D%E5%AD%98%E5%88%B0%E6%95%B0%E6%8D%AE%E5%BA%93%E9%99%84%E5%8A%A0%E8%A1%A8%E6%97%B6%E5%87%BA%E9%94%99%EF%BC%81"}
- 新建内容模型
关键信息都要填写
字段管理也要填写
模型附加表, 建表语句
CREATE TABLE `dede_addonarticle_poem` (`aid` mediumint UNSIGNED NOT NULL DEFAULT 0,`typeid` smallint UNSIGNED NOT NULL DEFAULT 0,`body` mediumtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL,`redirecturl` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '',`templet` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '',`userip` char(15) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '',`yiwen` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '译文',`zhushi` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '注释',`jianshang` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '鉴赏',`chaodai` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '朝代',`author` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '作者',`shangxi` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '赏析',`chuangzuobeijing` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '创作背景',`source_url` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '来源url',PRIMARY KEY (`aid`) USING BTREE,INDEX `typeid`(`typeid`) USING BTREE
) ENGINE = MyISAM CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;SET FOREIGN_KEY_CHECKS = 1;