0

我正在使用这个库:http ://code.google.com/p/data-registry/和 ExpressionEngine 系统。

我在这样的 EE 插件中初始化和设置数据:

Data_Registry::init('MYPAGE');
Data_Registry::setPersistence(TRUE,TRUE)->restoreNameSpace();
Data_Registry::set('MYPAGE_DATA',json_encode($data['result']));
Data_Registry::set('MYPAGE_LOGGEDIN',true);

如果我随后使用此代码记录值,它将正确显示值。

$fp = fopen('login_model.txt', 'a');
fwrite($fp, "Data:".Data_Registry::init('MYPAGE')->get('MYPAGE_DATA'). "\n");
fwrite($fp, "Loggedin:".Data_Registry::init('MYPAGE')->get('MYPAGE_LOGGEDIN'). "\n");
fclose($fp);

但是,当尝试使用此代码在模板中检索这些值时:

$data     = Data_Registry::init('MYPAGE')->get('MYPAGE_DATA');
$loggedin = Data_Registry::init('MYPAGE')->get('MYPAGE_LOGGEDIN');
$fp       = fopen('login_model.txt', 'a');
fwrite($fp, "Data:".$data . "\n");
fwrite($fp, "Loggedin:".$loggedin . "\n");
fclose($fp);

两个值都是空白。

我在这里做错了吗?

4

1 回答 1

0

来自 Waygood 的评论:

“如果启用全局持久性,所有命名空间都会自动加载”所以我假设你必须 Data_Registry::setPersistence(TRUE,TRUE)->restoreNameSpace(); 在模板上?除非您已将其设置为默认参数

于 2012-08-17T20:50:42.267 回答