2012-04-16 6 views
0

私はMagento 1.6.2を使用しており、Paypalの注文ステータスを削除したいと考えています。彼らはまったく使用されておらず、私の注文ステータスリストを汚染しています。 Paypalを無効にすることはできません。Magento 1.6.2 Paypalの注文ステータスを取り除く

Magento 1.6.2は、管理者の注文状況を管理する優れた機能を持っていますが、Paypalのステータスはリムーバブルではありません。

データベースからハードウェアを削除する方法はありますか、それとも何とか隠す方法はありますか?

答えて

2

私はあなたがそれらを削除したくないことを伝えることができます。Mage_Paypal_Model_Infoは、支払いが審査、詐欺、処理または完了であるかどうかを確認するためにそれらを使用します。私は彼らに対処することをお勧めします。実際には使用しないかもしれないが、それらは舞台裏で使用されていますが、目的のためにconstとして存在します。彼らは本当に害を加えるよりももっと良いことをする。

/** 
    * Check whether the payment is in review state 
    * 
    * @param Mage_Payment_Model_Info $payment 
    * @return bool 
    */ 
    public static function isPaymentReviewRequired(Mage_Payment_Model_Info $payment) 
    { 
     $paymentStatus = $payment->getAdditionalInformation(self::PAYMENT_STATUS_GLOBAL); 
     if (self::PAYMENTSTATUS_PENDING === $paymentStatus) { 
      $pendingReason = $payment->getAdditionalInformation(self::PENDING_REASON_GLOBAL); 
      return !in_array($pendingReason, array('authorization', 'order')); 
     } 
     return false; 
    } 

    /** 
    * Check whether fraud order review detected and can be reviewed 
    * 
    * @param Mage_Payment_Model_Info $payment 
    * @return bool 
    */ 
    public static function isFraudReviewAllowed(Mage_Payment_Model_Info $payment) 
    { 
     return self::isPaymentReviewRequired($payment) 
      && 1 == $payment->getAdditionalInformation(self::IS_FRAUD_GLOBAL); 
    } 

    /** 
    * Check whether the payment is completed 
    * 
    * @param Mage_Payment_Model_Info $payment 
    * @return bool 
    */ 
    public static function isPaymentCompleted(Mage_Payment_Model_Info $payment) 
    { 
     $paymentStatus = $payment->getAdditionalInformation(self::PAYMENT_STATUS_GLOBAL); 
     return self::PAYMENTSTATUS_COMPLETED === $paymentStatus; 
    } 

    /** 
    * Check whether the payment was processed successfully 
    * 
    * @param Mage_Payment_Model_Info $payment 
    * @return bool 
    */ 
    public static function isPaymentSuccessful(Mage_Payment_Model_Info $payment) 
    { 
     $paymentStatus = $payment->getAdditionalInformation(self::PAYMENT_STATUS_GLOBAL); 
     if (in_array($paymentStatus, array(
      self::PAYMENTSTATUS_COMPLETED, self::PAYMENTSTATUS_INPROGRESS, self::PAYMENTSTATUS_REFUNDED, 
      self::PAYMENTSTATUS_REFUNDEDPART, self::PAYMENTSTATUS_UNREVERSED, self::PAYMENTSTATUS_PROCESSED, 
     ))) { 
      return true; 
     } 
     $pendingReason = $payment->getAdditionalInformation(self::PENDING_REASON_GLOBAL); 
     return self::PAYMENTSTATUS_PENDING === $paymentStatus 
      && in_array($pendingReason, array('authorization', 'order')); 
    } 

    /** 
    * Check whether the payment was processed unsuccessfully or failed 
    * 
    * @param Mage_Payment_Model_Info $payment 
    * @return bool 
    */ 
    public static function isPaymentFailed(Mage_Payment_Model_Info $payment) 
    { 
     $paymentStatus = $payment->getAdditionalInformation(self::PAYMENT_STATUS_GLOBAL); 
     return in_array($paymentStatus, array(
      self::PAYMENTSTATUS_DENIED, self::PAYMENTSTATUS_EXPIRED, self::PAYMENTSTATUS_FAILED, 
      self::PAYMENTSTATUS_REVERSED, self::PAYMENTSTATUS_VOIDED, 
     )); 
    } 

あなたはapp/code/core/Mage/Paypal/etc/config.xmlで見れば、あなたがこれを見つけることができ、

<sales> 
    <order> 
     <statuses> 
      <pending_paypal translate="label"> 
       <label>Pending PayPal</label> 
      </pending_paypal> 
     </statuses> 
    </order> 
</sales> 

が、アプリ/コード/コア/メイジ/セールスの/ etc/config.xmlに

 <!-- /** 
       * @depraceted after 1.4.2, statuses are saved into sales_order_status table 
       */ 
     --> 

あなたを見てバージョン1.4.2以降のバージョンを使用している場合、データベースのsales_order_statusテーブルを参照する必要があります。これは、下位互換性を保証するためにconfig.xmlに存在する唯一の理由です。

これは、保留中のPayPalステータスを追加してコメント/削除して削除するセクションですが、削除する前にこのステータスが使用されている場所を確認することをおすすめします表示されていない競合がある場合は、Pending PayPalを使用する可能性のあるものを見つけるために、app/codeとlib /にgrep -r 'sales_order_status' *を使用してください。

関連する問題