我们使用了Unirgy出色的uRapidFlow模块,但遇到了一些麻烦。当您运行他们的个人资料之一时,他们会叫session_write_close
。这样做的问题是,这意味着如果我们希望从adminhtml控制器运行进程,则无法设置会话Flash消息来通知用户成功或捕获的异常。
完成该过程后,是否可以重新启动会话以添加会话消息?
最初我不确定是否可以用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会话上正确设置Flash消息。我认为我可以按照以下方式调用某些内容:
Mage::getSingleton('adminhtml/session')
->init('core', 'adminhtml')
->addSuccess('Whoop');
但这似乎不起作用。
如果要在配置文件执行期间向客户显示消息,则可以使用$ pofile-> getLogger()获取logger实例并将消息传递给它。它与在页面中显示它们不同,但是您将获得它们的记录
—
Petar Dzhambazov 2013年