Ми використовуємо чудовий модуль uRapidFlow від Unirgy, але натрапили на роздратування. Коли ви запускаєте один з їх профілів, вони дзвонять 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';
Я не зміг правильно встановити флеш-повідомлення на сесії адміністратора. Я думав, що можу щось зателефонувати:
Mage::getSingleton('adminhtml/session')
->init('core', 'adminhtml')
->addSuccess('Whoop');
Але це, здається, не працює.