Как отобразить уведомление или сообщение об успешном выполнении во время импорта с помощью адаптера преобразования?


Как отобразить уведомление или сообщение об успешном выполнении во время импорта адаптером преобразования?

Я могу отобразить ошибку только с помощью

Маг::Исключение Throw($сообщение)

. Класс, ответственный за это, является mage_adminhtml_block_system_convert_profile_run.

Author: b.enoit.be, 2016-04-21

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());
}
 1
Author: b.enoit.be, 2016-04-22 15:58:47