编辑整理:整理来源:爱奇艺,浏览量:91,时间:2023-03-22 06:30:02
使用“后台»工具&开发»开发»CMS发布插件”可快速生成插件
我们用个示例来演示如何制作插件,首先确定我们的需求:将采集的文章发布到wordpress程序里
输入插件名称:wordpress文章入库,CMS程序选择wordpress,插件功能标识:article(表示文章入库),作者版权填你自己的
然后添加参数,什么是参数呢?参数在界面中是可视化的控件,可绑定或输入数据,方便用户操作
输入变量名供代码中调用该参数的值,必填可过滤空值,参数名称供用户界面操作,参数类型生成相应控件
参数类型:
数字(number)、字符(text)、开关(radio)、文本(textarea) 会转换成界面相应的html元素“选择采集字段(select)”会将采集器中的字段生成select选项元素“选择固定值(select)”并输入选项值会将预设的值生成select选项元素“选择函数返回值(select)”并输入函数名会将函数返回的数组生成select选项元素配置完毕点击“保存”将在根目录/plugin/release/cms中生成相应的插件文件
CMS界面操作编辑任务的“发布设置”,发布方式选择“本地cms程序”,如果有wordpress程序会自动检测出(没有可手动绑定),在“CMS插件”中就可以看到刚才添加的插件
大家可以看到,文章标题、文章内容是“选择采集字段(select)”类型,如果采集器中有字段,这里就会自动显示出来
而作者账号、分类是“选择函数返回值(select)”类型,这里没有值是因为函数方法中没有返回数据库中的数据
编辑插件文件,找到“作者账号”函数(你自己设置的函数名),编写代码读取数据库中的账号并返回键值对数组
public function param_option_author(){ $usersDb=$this->db()->table('__USERS__')->limit(100)->select(); $userList=array(); foreach ($usersDb as $user){ $userList[$user['user_login']]=$user['user_login']; } return $userList; }
分类同理
public function param_option_category(){ $catsDb=$this->db()->table('__TERMS__')->select(); $catList=array(); foreach ($catsDb as $cat){ $catList[$cat['term_id']]=$cat['name']; } return $catList; }
代码中无需设置cms的数据库配置,只需$this->db()即可自动调用cms数据库对象,表名也无需加入前缀,使用__表名大写__可自动生成完整表名,数据库操作可参考thinkphp5
注意:并不是支持所有cms程序,只预设了几个流行的程序,如未检测出程序且数据绑定也无效的情况下,数据库配置需要您自行在插件中加入代码:
//CMS全称必须与你插件的cms程序名一致,$cmsPath为cms的根目录路径 public function cms_db_CMS全称($cmsPath){ //请读取cms的配置文件并将数据库保存为以下数组形式后返回,可参考BaseCms.php中的其它cms_db_方法 $cmsDb=array( 'db_type' => 'mysql',//数据库类型 'db_user' => '',//用户 'db_pwd' => '',//密码 'db_host' => '',//数据库主机 'db_port' => 3306,//端口 'db_name' => '',//数据库名称 'db_charset' => 'utf8',//数据库编码 'db_prefix' => '',//表前缀 ); return $cmsDb; }
发布数据到CMS程序以上配置都完成后接下来就是入库工作,找到或添加方法:runImport
/* * 导入数据 * 必须以数组形式返回: * id(必填)表示入库返回的自增id或状态 * target(可选)记录入库的数据位置(发布的网址等) * desc(可选)记录入库的数据位置附加信息 * error(可选)记录入库失败的错误信息 * 入库的信息可在“已采集数据”中查看 * return array('id'=>0,'target'=>'','desc'=>'','error'=>''); */ public function runImport($params){ print_r($params);die(); return array('id'=>0,'target'=>'','desc'=>'','error'=>''); }
$params数组即参数值列表,打印出来可发现,键名就是参数的变量名,值是最终处理后的结果,直接调用$params[变量名]便可得到参数的值
runImport方法必须返回数组,可以做网址排重、数据记录等作用
以上示例已经上传至云平台,您可参考该示例开发出属于您自己的插件
常见问题乱码:使用 auto_convert2utf8($str) 自动转换成utf-8编码
检测不出CMS:请手动绑定,输入cms路径并在路径结尾加上@CMS程序名,例如:@discuz
现在很多站长都喜交军际践依太达官假区欢用phpcms来建站,本站长也接触过这种模版,相对来说比较清楚这个cms某前是收厂切啊些家搞科,的确是非常方便,而且功能很强大。用PHPCMS来建花无马至轴设网站只需要进行网站设计和页面的制作,然后行维树殖抗针呀将静态页面与cms后台程序相结合,就能北燃完成整个网站的建设,这里要说一下,phpcm沿分罗s和其他大多数CMS一样是用PHP语言开发的,因此如果建站者懂php那就更好了。
网站建设完成以后,首先应该想到的就是网站相关与SEO的设置,包括标题标签(META Title)、描述标签(META Description)我关键字标签(M助ETA Keywords),谁坐亮处武失止称这三大标签对于网站的优化来说是至关重要的,而且随着搜索引擎消食怎算法的不断更新,这三大标签的重要性越来越明显了。
在登录phpcms后台,选着内容—管理栏目
选着需要设置SEO三大标签的栏目进行修改,根据需要填写标题标签、关键词标签和描述标签。
选择SEO设置,对标题标签、关键字标签和描述标签进行设置,设置的这些标签将在网页的源代码里面出现,搜索引擎的蜘蛛和机器人都能够爬到。
提交以后,生成页面,更新缓存,在打开网页的源代码,就能练米蒸够看到刚才设置的标签了,搜索引顺握年擎都能够抓取得到的。