Получите сумму скидки для группы клиентов в magento
У меня есть идентификатор группы клиентов .
Мне нужно получить правило продаж для этой группы клиентов .
И после этого я хочу получить сумму скидки в % для этого правила продаж ;
$customer_from_session = Mage::getSingleton('customer/session')->getCustomer();
$customer_from_db = Mage::getModel('customer/customer')->load($customer_from_session->getId());
$group_id = $customer_from_db->getGroupId();
И по $group_id
мне нужно найти фактические скидки
Большое спасибо!
1
1 answers
Пожалуйста, попробуйте этот код:
$websiteId = Mage::app()->getWebsite()->getId();
$groupId = Mage::getSingleton('customer/session')->getCustomerGroupId();
$ruleName = /* your rule name */;
$rules = Mage::getResourceModel('salesrule/rule_collection')
->setValidationFilter($websiteId, $groupId);
$rules->addFieldToFilter('name', $ruleName);
$rules->getSelect()->limit(1);
$rule = $rules->getFirstItem();
echo $rule->getSimpleAction(); // by percent ...
echo $rule->getDiscountAmount(); // amount
Редактировать: чтобы получить все правила, вы можете попробовать это (еще не проверено)
$websiteId = Mage::app()->getWebsite()->getId();
$groupId = Mage::getSingleton('customer/session')->getCustomerGroupId();
$rules = Mage::getResourceModel('salesrule/rule_collection')
->setValidationFilter($websiteId, $groupId);
foreach ($rules->getItems() as $rule) {
echo $rule->getSimpleAction(); // by percent ...
echo $rule->getDiscountAmount(); // amount
}
1
Author: sv3n, 2017-06-13 20:38:33