Как отобразить уведомление или сообщение об успешном выполнении во время импорта с помощью адаптера преобразования?
Как отобразить уведомление или сообщение об успешном выполнении во время импорта адаптером преобразования?
Я могу отобразить ошибку только с помощью
Маг::Исключение Throw($сообщение)
. Класс, ответственный за это, является mage_adminhtml_block_system_convert_profile_run.
1 answers
У Magento на самом деле есть какой-то стек сообщений сеанса. (Что-то очень похожее на пакеты с сообщениями, которые вы можете найти, например, на Symphony).
Они довольно просты в использовании, просто получите сеанс, связанный с областью, в которой вы находитесь, и используйте функции addError
, addWarning
, addNotice
или addSuccess
.
Поскольку вы находитесь в модуле потока данных, сеанс, который вы ищете, называется dataflow/session
. Позаботьтесь о том, чтобы получить эту модель с помощью одного элемента, иначе вы получите нечетное число сессий.
Mage::getSingleton('dataflow/session')->addSuccess($this->__('This will add a success message'));
Другие:
Mage::getSingleton('dataflow/session')->addNotice($this->__('This a notice'));
Mage::getSingleton('dataflow/session')->addWarning($this->__('That a warning'));
Mage::getSingleton('dataflow/session')->addError($this->__('And finally an error'));
И причина, по которой вы на самом деле получаете сообщение об ошибке при создании исключения, заключается в том, что где-то в ядре Magento есть
try {
// the code or class instantiation on which you throw your exception happens here
} catch (Mage_Core_Exception $e) {
Mage::getSingleton('dataflow/session')->addError($e->getMessage());
}