大曾在线

UCMS简单实现tag(标签)的方法

UCMS原生是不带标签云集功能的,但在添加字符段的过程中,确显示有标签,折腾了好久,却搞不出来,后来发现,其实可以通过简单的搜索功能来实现标签的功能。

实现条件

文章字符段中包括关键词(keyword)、tag(标签(横)或(竖))。

实现方法

1. 发表文章时,填写tag和关键词,关键词等于各个标签用“,”隔开,如标签为“UCMS”“标签”这两个,关键词就填写“UCMS,标签”,可以添加额外内容。

2. 新建自定义页面,地址为/so.php,模板文件为so.php,模板中so.php的内容为:

{if isset($_GET["keyword"])}
<!DOCTYPE HTML>
<html class="no-js">
	<head>
		<title>关键字“{strip_tags($_GET["keyword"])}”的搜索结果</title>
	</head>
	<body>

{$set=array()}
{$set['cid']=0}
{$set['keyword']=strip_tags($_GET["keyword"])}
{$set['searchcolumn']=title,keywords}
{$set['page']=page}
{$set['pagesize']=20}
{$articles=alist($set)}
{loop $articles['list'] as $a}
<a href="{$a['link']}">{$a['title']}</a>
{/loop}
</body>
</html>
{else}
{notfound()}
{/if}

3. 在需要加入tag的地方添加代码:

{$tags=$a['tag']|json_decode(1)}
{loop $tags as $tag}
<a href="so.php?keyword={$tag}" title="搜索关键字{$tag}">{$tag}</a>
{/loop}

注意:上面的代码实在文章列表页面用的,如果实在文章页面,需要将{$tags=$a['tag']|json_decode(1)}改为
{$tags=$article['tag']|json_decode(1)}

演示地址:参看本站。

— 本文发表于 — 451 Views
— 文内使用到的标签: UCMS 标签