PHP가 판매 뱃지를 올바르게 작동하지 않습니다
-
12-12-2019 - |
문제
카탈로그 및 제품 페이지에 특별 가격으로 제품 이미지 위에 판매 배지를 표시하려고합니다.
다음은 다음과 같은 PHP를 사용했습니다 :
<?php // sale badge ?>
<?php
$specialPrice = $_product->getSpecialPrice();
$specialPriceFromDate = $_product->getSpecialFromDate();
$specialPriceToDate = $_product->getSpecialToDate();
?>
<?php if ($specialPrice || ($currentDate >= $specialPriceFromDate && $currentDate <= $specialPriceToDate) || ($currentDate >= $specialPriceFromDate && $specialPriceFromDate != '' && $specialPriceToDate == '')): ?>
<span class="sale-badge"><?php echo $this->__('Sale') ?></span>
<?php endif; ?>
.
제품이 더 이상 특별 가격이 없음에도 불구하고 배지가 표시 될 때 아직도 배지가 표시 될 때 전달되지 않은 경우에도 배지가 올바르게 표시됩니다.
아이디어는 배지가 다음 시나리오에 표시 할 것입니다.
- 날짜가 설정된 특별한 또는 특별한 것은 없으며 (즉, 제품은 수동으로 변경 될 때까지 특수하게 특별히 영구적으로 영구적으로 변경됨)
- 날짜이지만 현재까지는 아닙니다 (즉, 일단 출신의 날짜가 전달되면 수동으로 변경 될 때까지 특별히 영구적으로 영구적으로 영구적으로 변경됩니다)
- 날짜가 없지만 현재까지는 일이 있습니다 (즉, 제품이 특별 할 때까지)
- 출신이고 A까지 (즉, 제품은 정의 된 기간 내에 특별한 제품에만 해당됩니다)
나는 내가 뭔가를 잃어 버렸지 만 누군가가 제발 그것이 무엇인지 지적 할 수있는 것을 확신 할 수 있습니다.
해결책
휴, 당신은 많은 코드가 필요합니다 .Just 체크 최종 가격은 제품 가격이 적습니다 .final 가격은 자동으로 계산됩니다.
이 를 사용해보십시오
<?php if($_product->getFinalPrice()<$_product->getPrice()): ?>
<span class="sale-badge"><?php echo $this->__('Sale') ?></span>
<?php endif; ?>
. 제휴하지 않습니다 magento.stackexchange