Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Drupal 7 Apachesolr:hook\u Apachesolr\u query\u prepare()没有被调用?_Drupal_Solr_Drupal 7 - Fatal编程技术网

Drupal 7 Apachesolr:hook\u Apachesolr\u query\u prepare()没有被调用?

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

我已经为此挣扎了几个小时了。我已经尝试了我能想到的一切,但似乎无法让钩子钩住你。下面是我在template.php文件中调用的代码:

/**
* 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中,因为我遇到了很多麻烦,所以我认为它解决了很多钩子执行问题: