我正在使用这个库: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);
两个值均为空白。
我在这里做错了吗?
答案 0 :(得分:0)
来自Waygood的评论:
“如果启用了全局持久性,则会自动加载所有名称空间”,因此我假设您必须使用Data_Registry :: setPersistence(TRUE,TRUE) - > restoreNameSpace();在模板上?除非您将其设置为默认参数