找回密码
 立即注册
搜索
热搜: 建站 编程 discuz
查看: 4449|回复: 5

Discuz! X3.4 门户文章增加标签tag教程

[复制链接]

11

主题

35

回帖

173

积分

版主

积分
173
发表于 2022-1-5 14:33:17 | 显示全部楼层 |阅读模式
关于discuz门户文章标签的问题,由于discuz门户文章本身就没有标签功能,尽管自带了一个聚合标签,但是标签数量就只有8个,远远不够用。但是很多站长朋友们又非常想要实现这个功能。于是,小编也在网上查找了下,看到了很多关于discuz用户都被这个问题困扰着,而解决的方法基本没有。大概看了下,小编找到了一个解决的方法,分享给大家:

这个方法就是添加一个tag模版

1、首先修改文章添加Tag模版:/template/default/portal/portalcp_article.htm

我们先要找到以下内容代码:

<div class=”bm bml”>
<div class=”bm_h cl”>
<h2>{lang article_description}</h2>
</div>
<div class=”bm_c”>
  <textarea id=”summary” name=”summary” cols=”80″ class=”pt” maxlength=”120″ style=”width: 98.7%; height: 51px;”>$article[summary]</textarea>
</div>
</div>

然后在该代码下面添加以下内容:

<div class=”bm bml”>
<div class=”bm_h cl”>
<h2>Tag 标签</h2>
</div>
<div class=”bm_c”>
<input type=”text” id=”tags” name=”tags” class=”px” maxlength=”120″ size=”80″ value=”$article[tags]” >
</div>
<div class=”bm_h cl”>
多个Tag 用空格隔开,比如:a b c d ,尾部不需任何符号
</div>
</div>

2、接下来是添加pre_portal_article_title表字段[注意:1、操作前备份数据库,2、不论表前缀是不是默认的,都可以直接用此代码(我的表前缀不是默认的已经成功),如果没有升级成功,那就请用pre_portal_article_title。

字段名为:tags ,类型varchar(255), 默认为空。

在网站后台的站长->数据库->升级 下面的Discuz! 数据库升级,文本框,复制下面

alter table pre_portal_article_title add tags varchar(255)

3、修改文章添加,修改,处理,函数/source/include/portalcp/portalcp_article.php(关系到字段入库,重要!)

查找以下代码$_POST[‘pagetitle’] = censor($_POST[‘pagetitle’]);

在该代码下面添加$_POST[‘tags’] = censor(trim($_POST[‘tags’]);

查找以下代码

‘author’ => $_GET[‘author’],
‘from’ => $_GET[‘from’],
‘fromurl’ => $_GET[‘fromurl’],
‘dateline’ => intval($_GET[‘dateline’]),
‘url’ => $_GET[‘url’],[/code]
‘author’ => $_G[‘gp_author’],
‘from’ => $_G[‘gp_from’],
‘fromurl’ => $_G[‘gp_fromurl’],
‘dateline’ => intval($_G[‘gp_dateline’]),
‘url’ => $_G[‘gp_url’],
‘tags’ => $_POST[‘tags’],

4、修改文章显示函数/source/module/portal/portal_view.php

找到代码:

include_once template(“diy:portal/view:{$catid}”, NULL, $tpldirectory, NULL, $articleprimaltplname);

在此代码上一行插入以下代码:

$tags=explode(” “,$article[“tags”]);foreach($tags as $val) {
$htmltags .= “<a href=\”/search.php?mod=portal&srchtxt=”.$val.”&searchsubmit=yes\” target=\”_blank\”>”.$val.”</a> “;
}

5、修改文章显示模版`/template/default/portal/view.htm`

可以自己选择要放的位置,例如放到内容下面:

查找:

`$content[content]`

然后在下面加入代码:

<div>
<b>Tab标签:</b> $htmltags
</div>

最后,进入后台->工具->更新缓存。只选择清理数据就可以了。


作者:Microant
来源:https://www.jianshu.com/p/faa110d07bca

回复

使用道具 举报

11

主题

35

回帖

173

积分

版主

积分
173
 楼主| 发表于 2022-1-5 14:34:02 | 显示全部楼层
谁试试看看这个方法,Discuz! X3.5能用吗?
回复

使用道具 举报

4

主题

16

回帖

68

积分

注册会员

积分
68
发表于 2022-1-6 14:25:34 | 显示全部楼层
你自己可以动手试试啊。
回复

使用道具 举报

0

主题

61

回帖

136

积分

注册会员

积分
136
发表于 2023-2-26 18:18:43 | 显示全部楼层
好好好好好好好好好好好好好好好好好顶
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|游驴社区

GMT+8, 2024-11-21 19:20 , Processed in 0.026830 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表