今天给各位分享phpcms搜索关键字的知识,其中也会对dedecms关键字列表进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、phpcms 内容管理中 关键字搜索文本框回车事件是写在哪里的?
- 2、关于phpcms搜索页面问题
- 3、PHPCMS 怎么调用相关关键词文章
- 4、phpcms v9为什么搜索标题中含有的很多关键词都没有搜索结果?
- 5、phpcms v9 搜索结果列表页不显示搜索结果
- 6、phpcms列表页的关键词标签怎么调用
1、phpcms 内容管理中 关键字搜索文本框回车事件是写在哪里的?
浏览器中表单里的文本框回车时默认就是提交表单呀,phpcms这个页面原来貌似没有什么js事件来监听。如果你想在提交表单前做一定的处理可以使用js惑jquery绑定onsubmit事件来处理。
2、关于phpcms搜索页面问题
1、当你输入有机的时候,分析一下你的search的链接参数
;c=indexa=inittypeid=siteid=1q=%D3%D0%BB%FA
这里差不多没个变量都有参数,只有typeid=是空的,也就是说你直接在咨询那里点搜索,没有指定搜索的类别范围,服务器没有接收到你要搜索的请求,搜索的语句没有处理typeid为空的时候的语句。
2、当你点击左边的分类项的时候,你的url的连接参数
;c=indexa=inittypeid=81q=%D3%D0%BB%FAsiteid=1time=all
这回你看,你的typeid就变成了81,也就是说服务器接收了typeid,所以才会搜索的出结果。
3、PHPCMS 怎么调用相关关键词文章
一、如果是在后台调用,说下phpcms中调用数据的php代码大体要点:
直接引入content_model模型文件,在phpcms/model/目录下的content_model.php文件,调用方法:
$db=pc_base::load_model('content_model');
然后使用set_model方法确定数据模型:
$db-set_model($modelid);
然后使用“like %关键词%”式 sql命令条件读取数据就可以了:
$where = " `keywords` LIKE '%$_k%'";
$r = $db-select($where, '*', $limit, '','','id'); //使用select方法参数1传入sql条件来获取结果数组。
后台调用需要有php编程基础和sql命令基础,这里不再赘述,网上有很多相关学习资料可参考。
二、如果是在前端模板中调用(你像知道的可能也是前端的标签怎样调用),我们使用phpcms “pc标签”来调用,重点注意action属性为“relation”,使用keywords属性来指定“关键词”,演示如下:
{pc:content action="relation" catid="$catid" num="5" keywords="$keywords"}
!--content指调用内容模块下数据,action指执行获取相关信息方法,catid设置所属栏目,num设置调用数量,keywords设置相关关键词--
{if $data}
div class="related"
h5 class="blue"相关文章:/h5
ul class="list blue lh24 f14"
{loop $data $r}
li·a href="{$r[url]}" target="_blank"{$r[title]}/aspan({date('Y-m-d',$r[inputtime])})/span/li
{/loop}
/ul
/div
{/if}
{/pc}
以上便是前后端的调用方式。
如果对phpcms的pc标签不了解可参考其官方手册。
如果你有php编辑基础,可参考相关文章标签的源码来研究其传入的每个参数相关意义或对其进行扩展开发,源码文件位置为/phpcms/modules/content/classes/content_tag.class.php中的relation方法,大约108行。
4、phpcms v9为什么搜索标题中含有的很多关键词都没有搜索结果?
最近一段时间一直对phpcms v9的搜索功能,几次想进行大的改动,但是一直没时间考虑思路,不得已在原来的搜索功能的基础上把搜索的分词给改动了下,虽然不如意,但是也能将就着用。进入到phpcms/modules/search/index.php文件,找到//如果分词结果为空if(!empty($segment_q)) {$sql = "`siteid`= '$siteid' AND `typeid` = '$typeid' $sql_time AND MATCH (`data`) AGAINST ('$segment_q' IN BOOLEAN MODE)";} else {$sql = "`siteid`= '$siteid' AND `typeid` = '$typeid' $sql_time AND `data` like '%$q%'";}修改为:$sql = "`siteid`= '$siteid' AND `typeid` = '$typeid' $sql_time AND `data` like '%$q%'";这样基本上就能解决一般的搜索功能了。 查看更多答案
5、phpcms v9 搜索结果列表页不显示搜索结果
看下传递的参数对么?
typeid= 搜索分类id
siteid=网站id
q=关键词
这三个是必须的。
form action="{APP_PATH}index.php" method="get" target="_blank"
input type="hidden" name="m" value="search"/
input type="hidden" name="c" value="index"/
input type="hidden" name="a" value="init"/
input type="hidden" name="typeid" value="1" id="typeid"/ //name="typeid"搜索分类,如果不需要分类也需要提供一个默认值。1是文章模型,可以在后台全站搜索里面看到。
input type="hidden" name="siteid" value="1" id="siteid"/
//name="siteid"获取站点id
input id="shuru" value=补气血 type=input name="q"/ // name="q"获取输入关键词
input type="submit" value="搜 索" class="button" id="tijiao" /
/form
下面是调用列表的代码。
span style="padding-left:10px"获得约 {$totalnums} 条结果 (用时{sprintf("%01.2f", $execute_time)} 秒)/span
ul class="e2"
{loop $data $i $r}
liba href='{$r[url]}'{$r[title]}/a/bspan class="info"small日期:/small{format::date($r[inputtime], 1)}/span
p class="intro" {$r[description]}../p
/li
{/loop}
{if empty($data)}未找到结果{/if}
/ul
以上的代码是亲测可行的。你自己看下哪里有问题。
6、phpcms列表页的关键词标签怎么调用
注意:explode(',',$r[keywords]);是将文章关键词通过英文逗号分离,也就是说每一篇文章都要以逗号间隔关键字,否则调用出来会是全部作为一个关键字。如果是空格间隔关键字,将explode(',',$r[keywords]);改成explode(' ',$r[keywords]);
{pc:content action="lists" catid="$catid" num="10" order="id DESC" page="$page"}
{loop $data $r}
{php $keywords = explode(' ',$r[keywords]);}
b标签:/b
{loop $keywords $keyword}
a style="color:#3300FF; border:1px solid #3300FF; padding:2px;" href="{APP_PATH}index.php?m=contentc=tagcatid={$catid}tag={urlencode($keyword)}" class="blue" {$keyword}/a
上面是跳转到标签总的页面
下面是直接跳转到相关内容的列表
a style="color:#3300FF; border:1px solid #3300FF; padding:2px;" href="{APP_PATH}index.php?m=contenta=listscatid={$catid}tag={urlencode($keyword)}" class="blue" {$keyword}/a
{/loop}
{/loop}
{/pc}
phpcms搜索关键字的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于dedecms关键字列表、phpcms搜索关键字的信息别忘了在本站进行查找喔。