Получить код купона корзины корзины
-
16-10-2019 - |
Вопрос
Я сделал два простых правила корзины с бэкэнд.
Первое имеет действие, которое основано на «Sku - это один из».
Второе имеет действие, основанное на «бренде содержит».
Я сделал пользовательскую функцию для отображения кода скидки и суммы на странице сведений.
Но на странице листинга для правила 1 я вижу промо -код и сумму скидки правила 2.
В качестве альтернативы, пожалуйста, подсказывают мне, как получить идентификатор правил корзины для покупок для бренда и SKU.
Решение
Это взято из вопроса Stackoverflow, в котором я участвовал, но модифицировано для вашего вопроса.
Это итерация через все правила корзины в торгах в rule_collection
, сравнивает продукт SKU на странице просмотра и эхо код купона. На основании этого кода вы можете изменить его, чтобы также получить код купона для бренда.
$current_sku=$_product->getSku(); // Sku you are looking for
$rules = Mage::getResourceModel('salesrule/rule_collection')->load();
foreach ($rules as $rule) {
if ($rule->getIsActive()) {
$rule = Mage::getModel('salesrule/rule')->load($rule->getId());
$conditions = $rule->getConditions()->asArray();
foreach( $conditions['conditions'] as $_conditions ):
foreach( $_conditions['conditions'] as $_condition ):
$string = explode(',', $_condition['value']);
for ($i=0; $i<count($string); $i++) {
$sku = trim($string[$i]);
if ($sku==$current_sku) {
echo $rule->getCouponCode(); // Return coupon code that matches the sku condition
}
}
endforeach;
endforeach;
}
}