在PbootCMS的文章中,我们可以使用keywords关键字来进行匹配,并在文章详情页显示相关内容。但是,在某些情况下,客户不希望使用tags标签来进行匹配。那么,我们该如何通过keywords进行匹配呢?我们将介绍如何进行二次开发。
我们需要找到文件\apps\home\controller\ParserController.php,并搜索“tags数据参数筛选”。在该位置上方,我们会看到以下代码:
$aTag = $model->field('name')->where(['id'=>['in', $aTags]])->select()->toArray();
foreach ($aTag as $v) {
$aTags[] = $v['name'];
}
if (!empty($aTags)) {
$aWhere['tags'] = ['like', '%'.implode(',', $aTags).'%'];
}
这段代码会根据tags标签进行数据筛选,并将符合条件的数据加入到数组$aWhere中。
我们需要将上述代码中的“tags”改为“keywords”,以便根据文章keywords进行筛选。具体来说,将上述代码修改为以下内容:
if (!empty($keywords)) {
$aWhere['keywords'] = ['like', '%'.$keywords.'%'];
}
这段代码会根据keywords关键字进行数据筛选,并将符合条件的数据加入到数组$aWhere中。
我们需要在文章详情页的列表调用代码中添加“tags={content:keywords}”来实现匹配相关内容。具体来说,可以将以下代码添加到列表调用代码中:
$params = [
'id' => ['neq', $id],
'status'=> 1,
'cid' => $data['cid'],
'orderby'=>'addtime DESC',
'limit' => 10,
'tags' => '{content:'.$data['keywords'].'}'
];
这段代码会根据当前文章的keywords关键字,在文章详情页的列表中显示与之相关的其他文章。
通过以上修改,我们就可以通过keywords关键字进行数据筛选,并在文章详情页显示相关内容。需要注意的是,由于keywords关键字是手动设置的,我们必须确保每篇文章都有正确的keywords关键字,以便准确地匹配相关内容。
本文链接:http://task.lmcjl.com/news/5556.html