DedeCMS织梦搜索结果页按栏目分块显示数据

创客云

DedeCMS织梦在国内建站系统使用群体已经非常多,深受大家喜欢,但是功能却很单一,扩展性也不是很强,比如今天分享的这个案例,搜索结果页按栏目显示文章搜索数据,就需要修改多处代码才能实现。

1、搜索框代码里使用name="q"作为搜索框属性,例如

2、打开 /include/taglib/arclist.lib.php 找到,大概在188行

  1. $innertext = trim($innertext);

在它下面加入

  1. preg_match("/~([A-Za-z0-9_]+)~/s", $keyword, $conditions);
  2. if(isset($_REQUEST['q']) && $keyword = '~q~')
  3. {
  4. 	preg_match("/~([A-Za-z0-9_]+)~/s", $keyword, $conditions);
  5. 	$keyword = addslashes(trim($_REQUEST['q']));
  6. }

继续找到

  1. $taghash = md5(serialize($ctag).$typeid);

改成

  1. $taghash = md5(serialize($ctag).$typeid.$keyword);

3、搜索结果模板 search.htm 里调用标签写法

  1. {dede:channelartlist row=5 typeid=top}
  2. <h2>{dede:field.typename/}</h2>
  3. <div>
  4. 	<ul>
  5. 		{dede:arclist row='10' titlelen='250' keyword='~q~'}
  6. 		<li>
  7. 			<a href="arcurl/]" target="_blank" rel="noopener noreferrer">[field:title/]</a>
  8. 		</li>
  9. 		{/dede:arclist}
  10. 	</ul>
  11. </div>
  12. {/dede:channelartlist}
本文由 CityMall 整理发布如需转载,请注明出处:https://www.22vd.com/60358.html
云模板

发表评论