2012-01-31 76 views
1

是否有辦法使信用卡付款方式始終處於選中狀態,並且在存在多種付款方式時?這是在結帳過程中。如何在Magento中有多種付款方式時將信用卡付款方式設置爲默認(選擇)

+0

目前尚不清楚「始終選擇並開放」的含義。 – 2012-01-31 04:17:04

+0

他意味着總是預先選擇付款步驟,他想選擇最常用的付款方式,因此用戶不必點擊那裏 – 2012-01-31 07:11:30

+0

是的,這正是我的意思是安東。 – BeaverProj 2012-01-31 15:51:00

回答

1

這是我最終做的。

  • 複製C:\諮詢\ SoftStarShoes \網站\程序\設計\前臺\基地\ DEFAULT \模板\結賬\ onepage \金\ methods.phtml文件在我的主題的等效目錄。

  • 添加一個新的循環計數變量,$ I,頂部的第一個註釋後:

    $ i = 1;

  • 裏面<?php if(sizeof($this->getMethods()) > 1): ?>第一,如果條件檢查,添加下列條件(基本上,它會檢查,如果這第一個付款方式,將其設置爲選中)

    <?php if($i == 1): ?> 
        <input id="p_method_<?php echo $_code ?>" value="<?php echo $_code ?>" type="radio" name="payment[method]" checked="checked" title="<?php echo $this->htmlEscape($_method->getTitle()) ?>" onclick="payment.switchMethod('<?php echo $_code ?>')" class="radio" /> 
    <?php else: ?> 
        <input id="p_method_<?php echo $_code ?>" value="<?php echo $_code ?>" type="radio" name="payment[method]" title="<?php echo $this->htmlEscape($_method->getTitle()) ?>" onclick="payment.switchMethod('<?php echo $_code ?>')"<?php if($this->getSelectedMethodCode()==$_code): ?> checked="checked"<?php endif; ?> class="radio" /> 
    <?php endif; ?> 
    

的其他條件相同像之前一樣。

  • 就在<?php endforeach; ?>之前添加此線(與<?php周圍):

    $ I = $ I + 1;

編輯:

事實上,唯一可靠的跨瀏覽器的方式來保持它的開放是在這裏複製文件:\程序\設計\前臺\基地\ DEFAULT \模板\金\表格\ ccsave.phtml到我的主題,然後刪除style =「display:none;」從第一個。

修正了這個問題,所以窗體總是打開的,上面的代碼確保它是默認選中的。

+0

看起來像表單並不總是自動顯示。我不得不添加$('payment_form_authorizenet')。show();只是在payment.init()之後 – BeaverProj 2012-02-02 06:45:02

+0

實際上,這並不總是奏效。所以我進去了,在cc.phtml中取消了style =「display:none:」。請參閱上面的編輯。 – BeaverProj 2012-02-08 16:59:35

0

可以以觀察員

try { 
    $quote->getPayment()->setMethod('method_code')->getMethodInstance(); 
} catch (Exception $e) { 
    Mage::logException($e); 
} 

在前面的步驟嘗試這一點,但要知道,這種支付方式必須是積極的,並準備使用您可以設置此之前,還你必須檢查是否有沒有付款方法,因此您不會更改用戶選擇或強制每個訂單使用相同的付款方式,您可能需要更改某些前端代碼才能打開付款方式表單。

+0

我可以在JavaScript中設置它嗎? – BeaverProj 2012-01-31 17:59:46

+0

好吧,你可以打開和選擇與JavaScript,但這隻會影響用戶界面,這也是好的我猜如果你使用一個頁面結賬 – 2012-01-31 20:31:17