我正在创建一个Magento模块,我已经创建了一个设置资源模型,用于检查文件夹是否可写。如是;它会创建一个文件夹,否则会显示错误消息。问题是,当使用addError时,它会重定向到管理员登录屏幕并在那里显示消息。它虽然没有注销。重新加载页面时,它会在运行安装程序之前结束。
class Blabla_Bleh_Model_Resource_Setup extends Mage_Core_Model_Resource_Setup {
function createImportFolder() {
$baseDir = Mage::getBaseDir();
$importDir = $baseDir.DS.'var'.DS.'import';
$dir = $importDir.DS.'blabladir';
$io = new Varien_Io_File();
$errorMessage = Mage::helper('blabla_bleh')->__('Errormessage...');
if($io->isWriteable($importDir)) {
$io->checkAndCreateFolder($dir);
} else {
Mage::getSingleton('adminhtml/session')->addError($errorMessage);
}
}
}
有什么想法吗?
答案 0 :(得分:1)
重定向后尝试以下语句
return;
答案 1 :(得分:0)
我认为您正在使用错误的session类。请尝试核心会话:
Mage::getSingleton('core/session')->addError($errorMessage);
答案 2 :(得分:0)
使用以下代码重定向
Mage::getSingleton('core/session')->addError('Error message to be here');
$this->_redirect('*/*/controllerActionmethod');
希望这个帮助