私たちは、Unirgyの優れたuRapidFlowモジュールを使用していますが、少し不快に感じました。いずれかのプロファイルを実行すると、が呼び出されますsession_write_close
。これの問題は、adminhtmlコントローラーからプロセスを実行したい場合、セッションフラッシュメッセージを設定してユーザーに成功またはキャッチされた例外を通知できないことを意味します。
セッションメッセージを追加するために、プロセスの完了後にセッションを再開することはできますか?
PHPでセッションを再開できるかどうか最初はわかりませんでしたが、PHPの概念実証は機能します。
session_start();
// if this is the second run, show the value
if (!empty($_SESSION['foo'])) {
echo $_SESSION['foo'], PHP_EOL;
}
// set an initial value
$_SESSION['foo'] = 'bar';
// start running profile
session_write_close();
// after running profile
session_start();
// set a value to see if it takes
$_SESSION['foo'] = 'foo';
adminhtmlセッションでフラッシュメッセージを正しく設定できませんでした。私は次のように何かを呼ぶことができるかもしれないと思った:
Mage::getSingleton('adminhtml/session')
->init('core', 'adminhtml')
->addSuccess('Whoop');
しかし、これはうまくいかないようです。
プロファイルの実行中に顧客にメッセージを表示したい場合は、$ pofile-> getLogger()を使用してロガーのインスタンスを取得し、それにロガーにメッセージを渡すことができます。ページにそれらを表示することと同じではありませんが、それらを記録できます
—
Petar Dzhambazov 2013年