我正試圖在此magento(1.9.1)商店中爲特定產品(可配置產品)實施卡僅付款選項。我正在使用的代碼與我正在使用的問題是,我需要去每個簡單的產品並更新屬性值才能生效。我想知道,如果我可以對代碼進行更改,而不是使用簡單產品的價值,那麼可以使用父產品的價值,而不管簡單產品使用的是什麼價值。所以我只需要更新可配置產品來說明這個產品是否僅限於卡片。如何使用父配置產品的屬性值在簡單產品上生效以限制付款方式
我Observer.php此模塊
<?php
class JMAWD_CardOnly_Model_Observer
{
public function cardOnly(Varien_Event_Observer $observer)
{
$event = $observer->getEvent();
$method = $event->getMethodInstance();
$result = $event->getResult();
$cardonly = false;
foreach (Mage::getSingleton('checkout/cart')->getQuote()->getAllVisibleItems() as $item)
{
if($item->getProduct()->getCardOnly()){
$cardonly = true;
}
}
if($method->getCode() == "cashondelivery" && $cardonly){
$result->isAvailable = false;
}
}
}
我的config.xml這個模塊
<?xml version="1.0"?>
<config>
<modules>
<JMAWD_CardOnly>
<version>0.1.0</version>
</JMAWD_CardOnly>
</modules>
<global>
<events>
<payment_method_is_active>
<observers>
<card_only>
<type>singleton</type>
<class>cardonly/observer</class>
<method>cardOnly</method>
</card_only>
</observers>
</payment_method_is_active>
</events>
<models>
<cardonly>
<class>JMAWD_CardOnly_Model</class>
<resourceModel>cardonly_mysql4</resourceModel>
</cardonly>
</models>
<sales>
<quote>
<item>
<product_attributes>
<card_only/>
</product_attributes>
</item>
</quote>
</sales>
</global>
</config>
幫助&的建議表示讚賞。謝謝
感謝您的回覆。我會在Observer.php中添加這個。請指教。謝謝 – AlphaOne
@AlphaOne最新狀態?你解決了嗎? – clinical