投稿 评论 顶部
 手机版 | 登陆 | 注册 | 留言 | 设首页 | 加收藏

discuz 门户功能增加自定义keywords字段

佚名 discuz教程
一、首先在数据中找到"XX_portal_article_title"表,XX是表的前缀,这个因人而异,是在安装discuz时设置的,在这个表中增加一个字段"diy_keywords",类型varchar(64),默认为空。
二、在项目的目录“/template/default/portal”找到模板portalcp_article.htm,打开模板后,找到如下这个位置,并添加html标签
  
添加html标签后,在发布文章的页面,我们可以看到如下显示:
  
三、模板中的表单字段添加完毕后,我们需要做入库操作了。在项目目录的“/source/include/portalcp”下找到portalcp_article.php,在文件的中找到$setarr数组,增加一个变量如下图,增加这个变量后,发文和编辑文章的功能中diy_keywrods都能正常入库
  
四、以上操作完成后,通过测试,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设置。