26

$appliedRuleIds = Mage::getSingleton('checkout/session')->getQuote()->getAppliedRuleIds(); This will give you the ids of the rules applied to the quote separated by comma. you can turn them into an array like this: $appliedRuleIds = explode(',', $appliedRuleIds); if you want to get the rules applied as objects you can do this: //$rules = Mage::...


11

We have the same problem, we use a PHP script to apply the Catalog Price Rules with the following PHP script (placed in the shell directory): <?php require_once '../Mage.php'; ini_set('display_errors', 1); #Varien_Profiler::enable(); Mage::setIsDeveloperMode(true); umask(0); Mage::app('default'); Mage::app()->setCurrentStore(Mage_Core_Model_App::...


10

There is no "Buy X get Y" rule for different X and Y in the Magento default package. The rule we have can only discount some qty of the SAME products. Like if we get 10 t-shirts we can receive 11-th for free. But there is NO WAY to receive a belt instead of t-shirt. The options are either create a custom module or select some ready to use from the magento ...


7

Mage_SalesRule_Model_Resource_Coupon protected function _construct() { $this->_init('salesrule/coupon', 'coupon_id'); $this->addUniqueField(array( 'field' => 'code', 'title' => Mage::helper('salesrule')->__('Coupon with the same code') )); } Remove the addUniqueField call. Don't modify the core file, override ...


6

I spend sometime to understand this :) And The script calculate prices for the current day, the previous day and the next day. In Which, Updates include interval 3 days [in Magento 2.2.X] current day - 1 days before + 1 days after Daily update catalog price rule by cron /vendor/magento/module-catalog-rule/Cron/DailyCatalogUpdate.php Update ...


5

Yes, there is no corresponding condition in the default magento shopping cart rules. And yes, there are some extensions at the magento connect. Search for "special promotions" or "advanced promotions" for example. Basically, if you want to create a new module you can define a new action, similar to "fixed discount to whole cart" then observe event ...


4

I very confused by this setting in System > Configuration > Catalog > Catalog > Price : Catalog Price Scope. It simply means that you can set prices only globally or you can set them on a per website basis. For example: B2C and B2B or French store (EUR) and German store (also EUR) and show them different prices. In combination with the setting to change the ...


4

The reason why there is no such method for SalesRules is that Sales Ruels (corresponds to "Shopping Cart price rules" in admin area) depend not only on products selection and they don't offer only discounts on certain products, but also to shipping, subtotal etc. And Sales Rule validity can depend on the factors which can't be determined until the product is ...


3

I was able to simulate the desired behaviour by doing this: (For buy 3 of product X, get 1 product Y free) Conditions: - Total quantity of SKU X is greater or equal to 3 Actions: - Apply: Discount (percentage of product price) - Percentage = 100 - Maximum Qty Discount is Applied To: 1 - Apply rule to has condition: SKU = Y This would work for buy 2 ...


3

The catalog price rules are on website level, mainly because the price can be on a global or website level. You cannot have different prices and different catalog price rules on the store view level. An option would be to transform your 3 store view into 3 websites with one store view each. This should be simple enough. Just create 2 more websites and ...


3

There are several options, one of the easiest is just add a condition (the second tab) to the second rule to apply for the carts from $300 to $599.


3

There is no way to determine for sure what is the order of the rules if they have the same priority. In this case the rules are retrieved as MySQL want's it and it may not be always the same order. The order can be different depending even on the MySQL version. See this answer here (and comments). These guys really know what they are talking about. I had the ...


3

Try this way: $catalogrules = Mage::getModel('catalogrule/rule')->getCollection() ->addFieldToFilter('is_active', 1) ->addAttributeToFilter('description', 'notnull'); $cartrules = Mage::getModel('salesrule/rule')->getCollection() ->addFieldToFilter('is_active', 1) ->addAttributeToFilter('description', '...


3

I hope my answer will help anyone who want to set up a buy x Get y free on Magento: 1st. Go to Promotions > Shopping cart prices rules 2nd. Click on Add new rule 3rd. Define a name, a short descritpion, select website and customer groups 4th. Define if your promotion require a coupon to be activated or not 5th. Define a period 6th. Conditions : nothing ...


3

There is no setting to enable or disable this, it will be displayed automatically depending on the product. "Starting at" will be displayed for a group product and will show the lowest price from the simple products associated to the parent product. "As low as" will be displayed when tier prices exist for simple or configurable products. You can however ...


3

This because you are using the custom theme, so the update cart template was changed. Please check vendor/magento/module-configurable-product/view/base/templates/product/price/tier_price.phtml to see how tier prices are shown on product page and then fix your theme. I checked default Magento2, it is working like my screenshot:


3

You can create a catalog price rule and select the customer group who will be eligible for the discount. In conditions tab you can select the condition for which product this discount will be applied.


3

Try setting Conditions as follows and Actions as follows This will apply 12 unit of discount for each item in the cart if the item's SKU is D0B33200 and if the item's total quantity in the cart is equal or greater than 36. I hope this will help you.


2

No, you can't do that with a native Magento instance. You would have to use shopping cart price rules for that, which are applied to the lowest of price, group price, tier price and special price.


2

Just adding this as it is something I just ran into. Store has tons of SKUs and Catalog Price Rules. The rules weren't being applied, and after debugging cron and other things that have been a problem in the past, I took a look at the catalogrule_product_price table to see what was there. I saw a single entry: Notice the value for rule_product_price_id -- ...


2

If you accept different currencies for different countries, you could use store or store_view scope to assign specific prices to certain products instead of just using the built-in currency conversion. Say you accept Euros (base currency) and US Dollars and you want the price in Euros to be €100 and the price in USD to be $140. If you left this to just base ...


2

We experienced the same problem with a Magento 1.7.0.2 webshop. Fortunately this bug was fixed in Magento 1.8.1.0 (I didn't check 1.8.0.0) and can easily by ported over to Magento 1.7. You have to take a look at the difference between the method changeQuoteCustomerGroupId of the class Mage_Sales_Model_Observer from Magento 1.7.0.2 and 1.8.1.0 Those ...


2

I think the easiest would be to hook into the event catalog_product_get_final_price and just round the price to the amount you want. How to implement observers Is there anywhere on Magento.stackexchange a great answer how to implement an observer I can link to for the future? To lazy to write it down all the time, please add the link to the comments


2

Take a look at /app/code/core/Mage/CatalogRule/Model/Rule.php * @method int getIsActive() Try $catalog_rule = Mage::getModel('catalogrule/rule')->load(13); if ($catalog_rule->getIsActive()) { echo 'foo'; }


2

This is not possible by default with Magento as you cannot use a negative value in the Shopping cart rule. Searching for an extension to add extra charges to an order gives lots of extensions, not sure if all of them can handle an extra charge based on the product. The Surcharge extension from Fooman (Paid extension) can handle this (based on the ...


2

I have developed module with such functionality. It allows to add extra fee based on Shopping Cart Price Rules, and doesn't break discount functionality. Module add new total collectors and it handles extra fee to totals. GitHub Link: https://github.com/yvoronoy/magento-extension-extra-fee


2

For this you can create a shoppingcart rule with the following settings: Rule Information: Coupon = No Coupon Conditions: Payment Method = COD Actions: Apply = Fixed Amount discount for whole cart Discount amount = COD Charge amount This will give the customer a discount that is the same as the COD Charge.


2

Generally price is render by below code: <?php echo $this->getPriceHtml($_product); ?> And magento is check in stock by using below code: $_product->isSaleable(). At list.phtml file add this as condition like : <?php if($_product->isSaleable()): ?> <?php echo $this->getPriceHtml($_product,true); ?> <?php endif; ?> At ...


2

the zipcode field is a from to field. so this means you have to do 673302-673302 Be aware if you add a * zipcode blow that, this will be overwritten. so you need to declare other zipcodes. 671000-673301 for example. hope this helps


Only top voted, non community-wiki answers of a minimum length are eligible