У меня есть расширениеMagento: Невозможно изменить значение Mage :: getSingleton ('core/session')?
в файле контроллера PHP У меня есть строки ниже
public function accountverificationAction() {
$customerEmail = Mage::getSingleton('customer/session')->getCustomer()->getEmail();
$mobile_num = $this->getRequest()->getParam('mobile_number');
$mobile_code = $this->getRequest()->getParam('mobile_code');
$smsModel = Mage::getModel('ardindata/ardindata');
Mage::getSingleton('core/session')->setVerificationphase('mobile');
if($mobile_num) {
$sms_response = $smsModel->sendSms($mobile_num,$customerEmail);
if(is_numeric($sms_response)) {
Mage::getSingleton('core/session')->setVerificationphase('code');
} else {
if(empty($sms_response)) {
$message = $this->__('Error: Please enter a valid mobile number');
} else {
$message = $this->__('Error: '.$sms_response);
}
Mage::getSingleton('core/session')->addError($message);
}
}
if($mobile_code) {
$verificationCompleted = $smsModel->customerVerification($customerEmail,$mobile_code);
if($verificationCompleted != '1') {
$message = $this->__('Verification Failed!');
Mage::getSingleton('core/session')->addError($message);
}
}
$this->loadLayout();
$this->renderLayout();
}
Итак, я установил значение "мобильный" первый в Mage :: getSingleton ('ядро/сессии') ... Я хочу, чтобы изменить его «код» после того, как если (is_numeric ($ sms_response)) но не меняют и эхо только «мобильный»!
Я не знаю, почему, может ли кто-нибудь помочь мне решить эту проблему?
Спасибо всем
сделал тест раньше, но не работает! --- Кажется, что ценность не может выйти за пределы if! – sIiiS
переменная core/session глобально не ограничена областью, попробуйте напечатать 'Mage :: getSingleton ('core/session') -> getVerificationphase();' перед отменой и набором нового значения в переменной сеанса. –
Я устанавливаю echo 'Mage :: getSingleton ('core/session') -> getVerificationphase();' в файле шаблона и задает echo 'Mage :: getSingleton ('core/session') -> getVerificationphase();' after 'Mage :: getSingleton ('core/session') -> setVerificationphase ('code');' в файле контроллера ... но я не знаю, почему в файле шаблона «код» не может вернуться и все время «mobile»! - в шаблоне: '$ verification_failure = Mage :: getSingleton ('core/session') -> getVerificationphase(); \t echo $ verification_failure; \t if (empty ($ verification_failure) || ($ verification_failure == 'mobile')): ' – sIiiS