Drupal 7 : 全局$user不起作用



我正在研究一个Drupal模块,试图获取全局变量$user unameuid:如果在.module文件中使用$user它可以工作,但如果不是,我会得到:Trying to get property of non-object in ... on line 377var_dump($user)给出了null,这是我的代码:

MyModuleAPI.php:

function get_DB_Handler($projectname)
{  
    global $user;
    $u_name = $user->name;
    $u_id = $user->uid; //line 377
...
}

此函数在 ajax POST 查询后调用。

如果有人为我澄清区别在哪里,我将不胜感激,因为所有文件都在同一个模块中。任何帮助将不胜感激。

$user全局变量是在Drupal引导时定义的。必须从核心调用适当的函数,使其在非模块代码中可见。将以下内容放在文件的开头:

<?php
$file_path = dirname(__FILE__);
$path = preg_replace('/sites.*/', "", $file_path);
//adjust the path to your website root directory
$path = substr_replace($path ,"",-1);
$_SERVER['REMOTE_ADDR'] = '127.0.0.1';
$_SERVER['HTTP_HOST'] = 'site_hostname';
require_once($path . DIRECTORY_SEPARATOR . 'includes' .  DIRECTORY_SEPARATOR . 'bootstrap.inc');
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

相关内容

  • 没有找到相关文章

最新更新