A-A+
PHPCMS搜索功能无法调出内容
PHPCMS v9的搜索功能很不给力,看教程文档说要开启搜索功能必须要先开启mysql全文索引功能,具体可以查看后台模块,全站搜索,这里这样写的:
注意:全文检索模块需要mysql开启全文索引功能.
开启方法:修改mysql配置文件:window服务器为my.ini,linux服务器为my.cnf,在 [mysqld] 后面加入一行“ft_min_word_len=1”,然后重启Mysql。
我类个去,因为本人使用的是虚拟主机,这些配置根本都动不了,我想大部分的人都跟我一样吧,真不知道PHPCMS V9为什么要弄这样方式的全文搜索,其实对于小站长来说,根本就不需要,可能PHPCMS V9也是考虑到负载均衡吧,先不管它了,对于没多少流量的小站长来说基本上用不到,那么我们现在来看一下如何绕过这个全文搜索来做 PHPCMS 的站内搜索。
PHPCMS中是没有搜索标签的,这个时候就要考虑使用 GET 直接运行SQL语句的功能了,下面是我写的一段利用GET标签运行SQL语句的搜索代码:
{if $q==""} <font color="#FF0000">您没有输入关键词!</font> {else} {pc:get sql="SELECT * FROM `v9_news` where title like '%$q%' orde r by id DESC " num="12" page="$page"} {if $data==""} 没有找到和 <font color="#FF0000">{$q}</font> 相关的文章,请减短关键词 或换个词组! {/if} {loop $data $r} {if $r[thumb]}
上面的样式可以自已来定义,$q 变量是接受过来要搜索的词,重点看一下SQL语句,SQL的语句就是对提交过来的词进行的搜索了。下面再看一下表单的代码,直接修改成如下即可:
<form action="{APP_PATH}index.php" method="get" target="_blank"> <input type="hidden" name="m" value="search"/> <span> <input class="input_srh" name="q" id="q" type="text"> <input class="btn_srh" value=" " type="submit"> </span> </form>
现在测试一下,是不是实现了PHPCMS的站内搜索功能了,唯一不足的就是没有办法显示关键词的红色显示,不过已经实现了搜索的功能了。
GET标签运行SQL语句的搜索代码 这个代码放在哪里用啊?
GET标签放到PHPCMS模板里面呀,,跟普通的PC标签一个用法,只不过 GET 要灵活得多。