2010-06-28 113 views
3

我已經在Magento加入捆綁產品編程,使用所有的選項/簡單產品&使用專門爲捆綁選項3種方法的屬性: -如何在Magento中以編程方式設置Sku類型和價格類型的捆綁產品?

  1. setBundleOptionsData()
  2. setBundleSelectionsData()
  3. setCanSaveBundleSelections()

結果是新增加的捆綁產品顯示在管理部分就好了,所採取的後續的一些預設值。荷蘭國際集團的屬性: -

  1. sku_type
  2. weight_type
  3. shipment_type
  4. price_view
  5. 價格類型

然而,該軟件包產品未在前端示出了在所有,我不知道爲什麼。可以請別人幫我解決嗎?我嘗試過搜索,但無濟於事。請有人建議我做錯了什麼?

另外我需要控制Bundle Product的上述特殊屬性,以便在程序插入過程中也可以修改它們。在這一點上任何人都可以幫助我嗎?

任何幫助,非常感謝。

+0

對於可見性問題,請看這裏:http://stackoverflow.com/questions/2493141/ – 2010-06-28 15:07:48

回答

2

經過相當多的測試後,我發現裏面有一些方法。
如果你看清楚「saveAction()」方法,在「Adminhtml」模塊的「ProductController.php」頁面中,你會發現有一行像「$product->save();」。

如果你進入這個「save()」方法,你會看到Magento正在使用一些「setData()」方法來獲取簡單產品的屬性。因此,如果您將「price」,「weight」,「sku」,「name」,「description」,「short_description」......字段用作一維數組,則只需添加所需的捆綁產品的屬性到這個數組列表中,Magento將完成剩下的工作。

所以我的意思是,數組將包含以下元素一樣簡單: -

Array 
(
    ['name'] => 'simple', 
    ['description'] => 'test', 
    ['short_description'] => 'simple test', 
    ['sku_type'] => 0, 
    ['sku'] => 'simple01', 
    ['weight_type'] => 1, 
    ['weight'] => 12, 
    ['price_type'] => 1, 
    ['price'] => 250, 
    ['shipment_type'] => 0 
) 

現在,你需要通過「setData()」的方法來傳遞這個數組,和賓果你去。

只要記住,如果你相信Magento真的很漂亮,否則它是如此苛刻&粗魯。
希望它有幫助!

+1

它很漂亮,因爲像你這樣的程序員,他們花時間挖掘代碼並找出它的工作原理。我會做同樣的:) 對於那些想要快速提示和技巧的人來說,他們討厭Magento:P – nXqd 2012-07-23 09:22:23

+1

@Vdt - 非常感謝您所說的所有客氣話和乾杯,您發現它很有幫助!我也相信你正在成爲美麗的開發者之一!運氣最好! – 2012-07-23 11:24:05

相關問題