discuz 门户功能增加自定义keywords字段
2016-07-21 00:00
330 查看
discuz的门户的“发布文章”功能中,没有自动添加keywords字段,结果在文章页面中的meta的keywords中只显示标题,这样对于seo及其不利,今天整理了添加keywords字段方法。
一、首先在数据中找到"XX_portal_article_title"表,XX是表的前缀,这个因人而异,是在安装discuz时设置的,在这个表中增加一个字段"diy_keywords",类型varchar(64),默认为空。
二、在项目的目录“/template/default/portal”找到模板portalcp_article.htm,打开模板后,找到如下这个位置,并添加html标签
![](https://static.oschina.net/uploads/img/201607/21120413_0XYI.png)
添加html标签后,在发布文章的页面,我们可以看到如下显示:
![](https://static.oschina.net/uploads/img/201607/21120425_Jq80.png)
三、模板中的表单字段添加完毕后,我们需要做入库操作了。在项目目录的“/source/include/portalcp”下找到portalcp_article.php,在文件的中找到$setarr数组,增加一个变量如下图,增加这个变量后,发文和编辑文章的功能中diy_keywrods都能正常入库
![](https://static.oschina.net/uploads/img/201607/21120435_vIhm.png)
四、以上操作完成后,通过测试,diy_keyword可以正常入库
五、接下来就是如何让发布后的文章在meta的keywords中如何显示刚才添加的diy_keyword,打开项目目录“/template/default/common”的header_common.htm,
在meta的keyword上进行修改:
<meta name="keywords" content="{if !empty($article[diy_keyword])}{echo dhtmlspecialchars($article[diy_keyword])}{elseif !empty($metakeywords)}{echo dhtmlspecialchars($metakeywords)}{/if}" />
由于discuz的head是公用的一个模板,所以为了保持频道列表也能正常显示后台设置的keywod,我只增加了一个条件判断,不影响频道列表的keyword设置。
一、首先在数据中找到"XX_portal_article_title"表,XX是表的前缀,这个因人而异,是在安装discuz时设置的,在这个表中增加一个字段"diy_keywords",类型varchar(64),默认为空。
二、在项目的目录“/template/default/portal”找到模板portalcp_article.htm,打开模板后,找到如下这个位置,并添加html标签
![](https://static.oschina.net/uploads/img/201607/21120413_0XYI.png)
添加html标签后,在发布文章的页面,我们可以看到如下显示:
![](https://static.oschina.net/uploads/img/201607/21120425_Jq80.png)
三、模板中的表单字段添加完毕后,我们需要做入库操作了。在项目目录的“/source/include/portalcp”下找到portalcp_article.php,在文件的中找到$setarr数组,增加一个变量如下图,增加这个变量后,发文和编辑文章的功能中diy_keywrods都能正常入库
![](https://static.oschina.net/uploads/img/201607/21120435_vIhm.png)
四、以上操作完成后,通过测试,diy_keyword可以正常入库
五、接下来就是如何让发布后的文章在meta的keywords中如何显示刚才添加的diy_keyword,打开项目目录“/template/default/common”的header_common.htm,
在meta的keyword上进行修改:
<meta name="keywords" content="{if !empty($article[diy_keyword])}{echo dhtmlspecialchars($article[diy_keyword])}{elseif !empty($metakeywords)}{echo dhtmlspecialchars($metakeywords)}{/if}" />
由于discuz的head是公用的一个模板,所以为了保持频道列表也能正常显示后台设置的keywod,我只增加了一个条件判断,不影响频道列表的keyword设置。
相关文章推荐
- 交换机端口untaged、taged、trunk、access 的区别
- 最好的8个 Java RESTful 框架
- 多线程(5)-使用join协调嵌套线程
- CThreadPool 线程池使用例子
- 一个校验集合中的对象的某些字段值的唯一性的工具类
- 单链表的一些细节
- Opera Mobile Classic Emulator
- nodejs推荐ide
- Lucene6.0学习笔记——常用查询(一)
- Lucene6.0学习笔记——常用查询(二)
- linux下IPTABLES配置详解
- mongodb安装以及注册windows服务
- HTML文件中引入js文件路径
- Apache + SVN + Linux
- 框架尚需要解决的具体问题
- 一张图看尽 Linux 内核运行原理
- resty
- POI 对 word文档或者是 excel的使用的 开源包
- 定时任务,任务调度开源包Quartz
- 对spring 事物管理的理解