【问题标题】:Calling Drupal functions in external PHP file在外部 PHP 文件中调用 Drupal 函数
【发布时间】:2011-06-29 08:37:19
【问题描述】:

如何调用 Drupal 函数或获取位于 drupal 安装文件夹下的 PHP 文件中的全局变量。我第一次这样做。我的代码中是否需要包含任何文件才能访问 Drupal 函数或变量?

【问题讨论】:

标签: php drupal drupal-6 global-variables external


【解决方案1】:

如果上述示例不起作用,请尝试以下操作:

$path = $_SERVER['DOCUMENT_ROOT'];
chdir($path."/drupal");
define('DRUPAL_ROOT', getcwd()); //the most important line
require_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

【讨论】:

  • 这看起来像是 drupal 6 和 drupal 7 的混合体
  • 我们如何为 Drupal8 做些什么?
【解决方案2】:

取自上述评论中的链接问题

您需要在外部 PHP 文件中引导 Drupal:

/** bootstrap Drupal **/
chdir("/path/to/drupal/site/htdocs");
require_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

请务必更改 Drupal 安装路径,然后在上面发布的代码下方添加您的代码。

【讨论】:

    【解决方案3】:
    define('DRUPAL_ROOT', getcwd());
    require_once './includes/bootstrap.inc';
    drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
    

    当脚本位于我的 Drupal 根目录中时,上面的代码对我有用。这绝对会加载所有内容,而不仅仅是 Drupal 核心,包括贡献的模块挂钩。

    【讨论】:

      【解决方案4】:
      define('DRUPAL_ROOT', getcwd());
      
      require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
      drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
      global $user;
      print_r($user);
      

      【讨论】:

      • 这个问题已经有一个可接受的答案。如果您的答案是改进,您应该添加一些详细信息来解释原因。
      猜你喜欢
      • 2019-02-10
      • 2016-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-25
      • 1970-01-01
      相关资源
      最近更新 更多