2014-10-01 173 views
2

我運行Magento的商店,有幾個下載的產品時,刪除計費和航運信息,一些免費的午餐有downloadcode當人們購買其他產品或他們從別的地方得到我們的優惠券。Magento的 - 購買可下載產品

因此,有2種情況,1人只能購買下載的產品,使用PayPal支付,或2人下載的免費產品,如果他們有一個憑證。

其相當annyoing對許多人來說,進入計費信息,雖然他們只下載文件作爲嘉賓,我們並不需要一個帳單信息。

沒有人曾經遇到過的方式來擺脫計費信息的,當人們只能下載的產品?這意味着他們實際上只能通過電子郵件退房,就像在bandcamp.com這樣的頁面上完成的一樣?

非常感謝您的想法。

回答

1

你不會喜歡這個。
我認爲從Magento中刪除帳單郵寄地址是不可能的,不是合理的成本。
它深深植入了訂單機制。
對於送貨地址,這應該是開箱即用的。
如果您的訂單中只有虛擬和可下載的產品,則送貨地址和送貨方式步驟不應出現在結帳中。

但是,如果你做到了這一點堅持,我可以給你從哪裏開始一些指針。
首先,您需要修改onepagecheckout控制器,或者更好地編寫自己的結帳控制器來處理您的需求。
然後查看Mage_SalesMage_Checkout模塊中的文字getBillingAddresssetBillingAddress,並處理這些值可能爲空的情況。

這裏是一個例子,以更好地理解我在說什麼。
在訂單模式的sendNewOrderEmail方法有這個

$customerName = $this->getBillingAddress()->getName(); 

你需要改變這種情況下的帳單地址爲空。如果它不爲空,讓它像現在一樣工作。

+0

嘿馬呂斯, 感謝,沒有那麼promissing,見解;-)也許我將開始與控制器黑客,我想創建某種虛擬客戶那會獲得隱藏在真實客戶面前的地址。 – Moses 2014-10-01 12:08:44

+0

@摩西。告訴你你不會喜歡它:)。我認爲最好是創建自己的控制器而不是黑客攻擊核心控制器。並在結帳過程中進行檢查。如果您只有免費的可下載產品重定向到您的控制器。這應該是最安全的方式。 – Marius 2014-10-01 12:17:03

+0

有問題,我有物理免費下載(通過憑證)和可下載的產品。但我會專注於控制器,當然我不會改變核心。 – Moses 2014-10-01 12:23:15

0

也許我應該更清楚一點,我不一定需要徹底清除帳單。我只需要一個名稱和一個電子郵件地址即可發送帶有下載鏈接的購買電子郵件。但是我需要擺脫街道,電話,城市等,或者設置它們不是必需的,但只有在所有產品都可以下載的情況下。

的Magento已經檢查我們是否需要送貨,或不基於購物車。

所以,我覺得像在OPC

  1. 檢查,如果我們需要發貨(或者,所有的產品都下載)到「不要求」
  2. 改變計費領域或刪除它們 2A 。如果Magento需要一個地址,可能會設置一個隱藏於客戶的虛擬地址?

歡呼馬立克