如何在DedeCMS中调用相关文章并修改关键词关联?
- 行业动态
- 2024-10-14
- 1
在DedeCMS中,使用 dede:likearticle标签调用相关文章,并通过修改关键词实现关连文章。
在DedeCMS中,通过dede:likearticle标签可以调用相关文章,这个标签从5.5版本开始替换了原来的likeart标签,下面是使用dede:likearticle标签的示例代码:
{dede:likearticle row='8' eregtype=all|tag|keyword} <li><span>[field:pubdate function="MyDate('Ymd',@me)"/]</span>·<a href="[field:arcurl/]" title="[field:fulltitle/]" target="_blank">[field:title/]</a></li> {/dede:likearticle}
参数说明:
1、col:分多少列显示(默认为单列)。
2、row:返回文档列表总数(默认为10)。
3、titlelen长度(等同于titlelength,默认为30)。
4、infolen简介长度(等同于infolength,默认为160)。
5、mytypeid:手工指定要限定的栏目id,用逗号分开表示多个。
6、innertext:单条记录样式(指标签中间的内容)。
修改关键词关连文章
要在DedeCMS中通过关键词调取相关文章,可以通过以下方法实现:
1、编辑文件include/taglib/arclist.lib.php:
找到以下内容:
//关键字条件 if($keyword!='') { $keyword = str_replace(',', '|', $keyword); $orwheres[] = " CONCAT(arc.title,arc.keywords) REGEXP '$keyword' "; }
替换为:
if($keyword!='') { $keyword = str_replace(',', '|', $keyword); $orwheres[] = " CONCAT(arc.title,arc.keywords) LIKE '%$keyword%' "; }
2、在模板中使用如下代码:
{dede:field name='ID' runphp='yes'} $tempid=@me; @me=""; {/dede:field} {dede:field name='keywords' runphp='yes'} @me="%".str_replace(" ", "%", @me). "%"; if (!isset($dsql) || !is_object($dsql)) { $dsql = new DedeSql(false); } $dsql>SetQuery("SELECT arcf.title, arcf.url FROMdede_full_search arcf LEFT JOINdede_arctype tp ON arcf.typeid=tp.ID WHERE arcf.arcrank > 1 AND arcf.keywords LIKE '".@me."' AND aid <> ".$tempid." ORDER BY arcf.aid DESC LIMIT 0, 20"); $dsql>Execute(); @me=""; while ($row = $dsql>GetArray()) { @me .= "<li><a href='".$row['url']. "' target='_blank'>".$row['title']. "</a></li>"; } {/dede:field}
FAQs
1、如何在文章内容页调用相关文章?
答:在文章内容页调用相关文章时,可以使用如下代码:
{dede:likearticle row='8' eregtype=all|tag|keyword} <li><span>[field:pubdate function="MyDate('Ymd',@me)"/]</span>·<a href="[field:arcurl/]" title="[field:fulltitle/]" target="_blank">[field:title/]</a></li> {/dede:likearticle}
2、如何修改关键词以调用相关文章?
答:可以通过编辑文件include/taglib/arclist.lib.php,将以下代码:
//关键字条件 if($keyword!='') { $keyword = str_replace(',', '|', $keyword); $orwheres[] = " CONCAT(arc.title,arc.keywords) REGEXP '$keyword' "; }
替换为:
if($keyword!='') { $keyword = str_replace(',', '|', $keyword); $orwheres[] = " CONCAT(arc.title,arc.keywords) LIKE '%$keyword%' "; }
然后在模板中使用相应代码来调用相关文章。
参数 | 说明 | 示例代码 |
dede:likearticle | 调用相关文章,显示与当前文章相似的文章 | {dede:likearticle row="10" titlelen="50" infolen="50"} {/dede:likearticle} |
row | 设置显示文章数量 | row="10" |
titlelen | 设置标题显示长度 | titlelen="50" |
infolen | 设置简介显示长度 | infolen="50" |
field:arcurl/ | 获取文章URL | [field:arcurl/] |
field:title/ | 获取文章标题 | [field:title/] |
修改关键词关连文章
参数 | 说明 | 示例代码 |
dede:relatedarticle | 调用关键词关连文章,显示与当前文章相关关键词的文章 | {dede:relatedarticle titlelen="50" infolen="50"} {/dede:relatedarticle} |
titlelen | 设置标题显示长度 | titlelen="50" |
infolen | 设置简介显示长度 | infolen="50" |
field:arcurl/ | 获取文章URL | [field:arcurl/] |
field:title/ | 获取文章标题 | [field:title/] |
通过以上代码,你可以在dedecms文章页面上调用相关文章和关键词关连文章。
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/125155.html