/** * @event salesrule_rule_condition_combine * @param Varien_Event_Observer $observer * @return $this */ public function addFiltersToSalesRuleCombine(Varien_Event_Observer $observer) { /** @noinspection PhpUndefinedMethodInspection */ /** @var Varien_Object $additional */ $additional = $observer->getAdditional(); /** @noinspection PhpUndefinedMethodInspection */ $conditions = $additional->getConditions() ?: array(); $conditions = array_merge_recursive(array(array('label' => Mage::helper('adyen_subscription')->__('Adyen Subscription'), 'value' => array(array('label' => Mage::helper('adyen_subscription')->__('Product Subscription ID'), 'value' => 'adyen_subscription/salesRule_condition_productSubscription'), array('label' => Mage::helper('adyen_subscription')->__('Number of subscription order'), 'value' => 'adyen_subscription/salesRule_condition_quoteCount')))), $conditions); /** @noinspection PhpUndefinedMethodInspection */ $additional->setConditions($conditions); return $this; }
/** * Add Customer Segment condition to the salesrule management * * @param Varien_Event_Observer $observer */ public function addSegmentsToSalesRuleCombine(Varien_Event_Observer $observer) { if (!Mage::helper('enterprise_customersegment')->isEnabled()) { return; } $transport = $observer->getAdditional(); $cond = $transport->getConditions(); if (!is_array($cond)) { $cond = array(); } $cond[] = array('value' => 'enterprise_customersegment/segment_condition_segment', 'label' => Mage::helper('enterprise_customersegment')->__('Customer Segment')); $transport->setConditions($cond); }
/** * Adds new conditions * @param Varien_Event_Observer $observer */ public function handleNewConditions($observer) { $transport = $observer->getAdditional(); $cond = $transport->getConditions(); if (!is_array($cond)) { $cond = array(); } $types = array('customer' => 'Customer attributes', 'orders' => 'Purchases history'); foreach ($types as $typeCode => $typeLabel) { $condition = Mage::getModel('amrules/rule_condition_' . $typeCode); $conditionAttributes = $condition->loadAttributeOptions()->getAttributeOption(); $attributes = array(); foreach ($conditionAttributes as $code => $label) { $attributes[] = array('value' => 'amrules/rule_condition_' . $typeCode . '|' . $code, 'label' => $label); } $cond[] = array('value' => $attributes, 'label' => Mage::helper('amrules')->__($typeLabel)); } $transport->setConditions($cond); return $this; }
/** * Hook SalesRule condition combine and add extra conditions * * @param Varien_Event_Observer $observer * @return Varien_Event_Observer */ public function onConditionCombine($observer) { /** @var RapidCampaign_Promotions_Helper_Config $configHelper */ $configHelper = Mage::helper('rapidcampaign_promotions/config'); // Module disabled if (!$configHelper->extensionEnabled()) { return $observer; } if (!Mage::registry('rapidcampaign/widget/created')) { return $observer; } /** @var RapidCampaign_Promotions_Model_Condition_Extra $extraCondition */ $extraCondition = Mage::getModel('rapidcampaign_promotions/condition_extra'); $extraAttributes = $extraCondition->loadAttributeOptions()->getAttributeOption(); $attributes = array(); foreach ($extraAttributes as $code => $label) { $attributes[] = array('value' => 'rapidcampaign_promotions/condition_extra|' . $code, 'label' => $label); } $additional = $observer->getAdditional(); $conditions = (array) $additional->getConditions(); $conditions = array_merge_recursive($conditions, $attributes); $additional->setConditions($conditions); $observer->setAdditional($additional); Mage::unregister('rapidcampaign/widget/created'); return $observer; }
/** * Add additional text to checkout review page if "cash on delivery" payment method is selected * * @param Varien_Event_Observer $observer * @event checkout_additional_information */ public function addCheckoutAdditionalInformation(Varien_Event_Observer $observer) { /** @var $quote Mage_Sales_Model_Quote */ $quote = Mage::getSingleton('checkout/session')->getQuote(); if ($quote->getPayment()->getMethod() == 'cashondelivery') { $customText = $quote->getPayment()->getMethodInstance()->getCustomText(); if ($customText) { $additionalObject = $observer->getAdditional(); $text = (string) $additionalObject->getText(); if ($text) { $text .= '<br />'; } $text .= $customText; $additionalObject->setText($text); } } }
public function addKeywordCondition(Varien_Event_Observer $observer) { $additional = $observer->getAdditional(); $conditions = (array) $additional->getConditions(); $additional->setConditions(array_merge_recursive($conditions, array(array('value' => 'autobuypromotions/rule_condition_keyword', 'label' => Mage::helper('autobuypromotions')->__('Keywords'))))); }