如何在独立的 PHP 页面中使用 Drupal 搜索?

Posted

技术标签:

【中文标题】如何在独立的 PHP 页面中使用 Drupal 搜索?【英文标题】:How to Use Drupal Search In Standalone PHP Page? 【发布时间】:2011-07-20 20:57:58 【问题描述】:

我按照@Drupal: how to access to Drupal's APIs with a standalone php script? 的说明进行操作,但是,我的搜索查询返回 0 个结果(一个空数组)。我已经确认,如果从我的 drupal 网页执行相同的搜索词会返回结果。

<?php
    chdir("drupal");
    define("DRUPAL_ROOT",".");
    require_once './includes/bootstrap.inc';
    include 'drupal/modules/search/search.api.php';
    drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
    $keys = array("harry","potter");
    $result = hook_search_execute($keys);
    print_r($result);
?>

谁能给我一些关于为什么这不起作用的指示?非常感谢!

【问题讨论】:

【参考方案1】:

问题是您直接调用hook_search_execute——这仅适用于 API 文档。

因此,无需包含 search.api.php。相反,请查看search_data(),它调用特定模块(例如,用户模块或节点模块)调用该钩子。如果你想搜索节点,可以直接调用node_search_execute()

【讨论】:

以上是关于如何在独立的 PHP 页面中使用 Drupal 搜索?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Drupal 6 页面上使用 php 包含?

如何在 Drupal 中显示一个简单的自定义页面?

如何修改drupal搜索模板?

如何使用 Drupal 视图模块实现 node-VIEWNAME.tpl.php?

Drupal-如何使用 PHP 代码获取视图字段值?

在 Drupal 7 中的视图创建的页面上搜索信息