Chúng tôi sử dụng mô-đun uRapidFlow tuyệt vời của Unirgy, nhưng đã gặp một chút phiền toái. Khi bạn chạy một trong những hồ sơ của họ, họ gọi session_write_close
. Vấn đề với điều này là điều đó có nghĩa là nếu chúng tôi muốn chạy một quy trình từ bộ điều khiển adminhtml, chúng tôi không thể đặt thông báo flash phiên để thông báo cho người dùng về thành công hoặc bị bắt ngoại lệ.
Có thể khởi động lại phiên sau khi quá trình hoàn tất, để thêm một thông báo phiên?
Ban đầu tôi không chắc liệu có thể khởi động lại một phiên trong PHP hay không, nhưng bằng chứng về khái niệm PHP hoạt động:
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';
Mặc dù vậy, tôi chưa thể đặt chính xác một tin nhắn flash trên phiên adminhtml. Tôi nghĩ rằng tôi có thể gọi một cái gì đó dọc theo dòng:
Mage::getSingleton('adminhtml/session')
->init('core', 'adminhtml')
->addSuccess('Whoop');
Nhưng điều này dường như không hoạt động.