답변:
당신은 이것을 할 수 있습니다 Magento Event/Observer
먼저 payment_method_is_active
disable on 을 사용하면 현재 견적 제품 유형에 따라 다릅니다.
이를위한 코드 :
<global>
<events>
<payment_method_is_active>
<observers>
<paymentfilter_payment_method_is_active>
<type>singleton</type>
<class>yourmodel/observer</class>
<method>filterpaymentmethod</method>
</paymentfilter_payment_method_is_active>
</observers>
</payment_method_is_active>
</events>
</global>
<?php class YOURNANESPACE_YOURMODULE_Model_Observer { public function filterpaymentmethod(Varien_Event_Observer $observer) { /* call get payment method */ $method = $observer->getEvent()->getMethodInstance(); /* get Quote */ $quote = $observer->getEvent()->getQuote(); $result = $observer->getEvent()->getResult(); if (empty($quote) || (null === $quote)) { return $this; } /* Disable Your payment method for adminStore */ if ($method->getCode() == 'YOUR_PAYMENT_METHOD_CODE') { foreach ($quote->getAllItems() as $item) { // get Cart item product Type // if ($item->getProductType() == 'YourProductType'): $result->isAvailable = false; endif; } } } }
이를 위해 당신은 magento payment_method_is_active
이벤트 를 사용해야합니다
난 당신이 다음 확인하시기 바랍니다하지 않으면 [젠토 확장을 개발하는 방법을 알고 가정하고 이 답변은 전체 모듈 얻을
당신의 쓰기이 코드 config.xml
에서app>code>codepool>namespace>package>etc
<global>
...
<events>
<payment_method_is_active>
<observers>
<paymentfilter_payment_method_is_active>
<type>singleton</type>
<class>PaymentFilter_Model_Observer</class>
<method>paymentMethodIsActive</method>
</paymentfilter_payment_method_is_active>
</observers>
</payment_method_is_active>
</events>
...
</global>
관찰자 파일 만들기 app/code/codepool>namespace>package/Model/Observer.php
class namespace_package_Model_Observer {
public function paymentMethodIsActive(Varien_Event_Observer $observer) {
$event = $observer->getEvent();
$method = $event->getMethodInstance();
$result = $event->getResult();
$currencyCode = Mage::app()->getStore()->getCurrentCurrencyCode();
if($someTrueConditionGoesHere){
$result->isAvailable = true;
}else{
$result->isAvailable = false;
}
}
}
이것을 보았습니까?이 문제가 꿀벌을 해결할 것이라고 생각합니다 .methods.phtml 파일을 수정하고 따옴표 정보를 얻을 수있는 곳에서 이벤트-관찰자 또는 수정하여 모듈에서 유효성 검사 또는 조건을 수행하십시오. phtml 파일?
/programming/29819037/disable-cash-on-delivery-for-specific-products
과
/programming/14011348/disable-payment-options-only-cash-on-delivery-for-particular-product-magento