1

拡張機能があります

コントローラー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('core/session')に値 " mobile " を設定します... if(is_numeric($sms_response)) の後に " code "に変更したいのですが、変更されず、エコーのみ "モバイル」!

理由がわかりません。誰かがそれを解決するのを手伝ってくれますか?

皆さんありがとう

4

1 に答える 1

0

コア/セッション変数に新しい値を割り当てる前に、古い割り当て値を設定解除する必要があります。

修正後の関数の完全なコード:

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($sms_response) {
            Mage::getSingleton('core/session')->unsVerificationphase();
            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);
        }
    }
于 2013-10-16T05:31:55.633 に答える