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 に答える