加载中...
drupal搜索功能
发表于:2009-08-15 | 分类: 网络应用 drupal
字数统计: 589 | 阅读时长: 2分钟 | 阅读量:

-——-关于搜索功能

参考: 问题:搜索功能无法使用。 刚刚在自己的小站上建立了内容,就迫不及待的想尝试一下搜索效果,结果却什么也搜不到。原来,Drupal 的搜索功能,必须执行 cron.php 文件之后,才能使用。 执行此文件的方法很简单。比如你的站点 http://example.com/ ,那么在浏览器中输入 http://example.com/cron.php 即可。也可以在管理面板里面通过 管理->设置->搜索 来重建索引,来执行 cron.php 。 更进一步,如果每次都来手动更新索引,可是够麻烦的;不过可以通过 Poormanscron 模块来自动完成此功能。如果你使用的不是 linux/unix 环境,那么可以参考一下这里:Configuring cron jobs 。 除此以外,还可以通过中文分词模块,来改变搜索中文的效果,开发者是Zealy。这是一个辅助性模块,可以将索引关键词最小字数修改为2,来搜索一般的中文词组。不过有时候会出现搜索不到情况。 总的来说,Drupal 的搜索功能不及 Wordpress 的好用。

-——–drupal过滤搜索考察

当开启drupal的search功能后,默认的有node搜索功能(search/node/)和user搜索功能(search/user/).node搜索功能可以设定特定的内容类型,包含一个关键词,或者排除一个关键词,还可以对短语进行搜索,可以使用AND和OR对关键字进行与或关系。但是有时候这些是不够的,如果想更个性化搜索,就需要自已开发模块了。 如果你的搜索不是很复杂,但是默认的搜索功能又不能满足你的需要,那么就要自已写模块来实现了。写模块时会用到几个钩子,其中一个是hook_form_alter(&$form, $form_state, $form_id),它可以改变默认搜索的表单,例如,假如你想改变node默认的搜索表单,可以 if ($form_id == ‘search_form’ && $form[‘module’][‘#value’] == ‘node’) { // do someghing to change $form } ?> 另一个函数是hook_search(),drupal的search功能大部分都是由这个钩子函数来实现的,当$op=”search”时,就可以随意的自定义你的search功能。

上一篇:
初试drupal
下一篇:
drupal权限控制的实现
本文目录
本文目录