Drupal 7 Apachesolr:hook\u Apachesolr\u query\u prepare()没有被调用?
我已经为此挣扎了几个小时了。我已经尝试了我能想到的一切,但似乎无法让钩子钩住你。下面是我在template.php文件中调用的代码:Drupal 7 Apachesolr:hook\u Apachesolr\u query\u prepare()没有被调用?,drupal,solr,drupal-7,Drupal,Solr,Drupal 7,我已经为此挣扎了几个小时了。我已经尝试了我能想到的一切,但似乎无法让钩子钩住你。下面是我在template.php文件中调用的代码: /** * Implements hook_apachesolr_query_prepare(). */ function pz_apachesolr_query_prepare(DrupalSolrQueryInterface $query) { echo "Query Prepare Test"; $query->setAvailable
/**
* Implements hook_apachesolr_query_prepare().
*/
function pz_apachesolr_query_prepare(DrupalSolrQueryInterface $query) {
echo "Query Prepare Test";
$query->setAvailableSort('entity_id', array(
'title' => t('Node ID'),
'default' => 'asc',
));
$query->setAvailableSort('ds_changed', array(
'title' => t('Changed Date'),
'default' => 'asc',
));
}
hook\u apachesolr\u query\u alter工作得很好,但我认为我不能添加排序选项,这是我在这里的最终目标
我试过:
彻底清理现场并重新编制索引
多次刷新所有缓存
注释solrconfig.xml文件中的缓存
禁用和重新启用搜索模块
我在Drupal7上使用ApacheSolr7.x-1.7
我肯定我错过了一些简单的东西——提前谢谢 你也试过在hook的末尾放一个退出指令吗?看看hook\u apachesolr\u query\u prepare是否被执行了?@Fky是的,我试过die和exit,也试过呼出语句,没有改变任何东西。好的,哼。。你试过把这个钩子放在模块文件而不是template.php中吗?成功了。我把它添加到一个自定义模块中,它正确地发射。谢谢对我很高兴读到它!!我曾经将钩子放在模块中而不是template.php中,因为我遇到了很多麻烦,所以我认为它解决了很多钩子执行问题: