我正在研究一个Drupal模块,尝试获取全局变量uname
的{{1}}和uid
:如果在.module文件中使用$user
它可以工作但是如果不是,我得到:$user
和Trying to get property of non-object in ... on line 377
给出var_dump($user)
,
这是我的代码:
MyModuleAPI.php:
null
在ajax POST查询后调用此函数。
如果有人为我澄清区别,因为所有文件都在同一个模块中,我将不胜感激。任何帮助将不胜感激。
答案 0 :(得分:0)
$user
全局变量。您必须从核心调用适当的函数,以使其在非模块代码中可见。将以下内容放在文件的开头:
<?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);