Php 在magento的特价商品上显示销售图标。仅在主页上显示,而不是在所有页面上显示
在magento的特价商品上显示销售图标。仅在主页上显示,而不是在所有页面上显示 我在其中编辑的代码 app/design/frontend/default/template/catalog/product/list.htmlPhp 在magento的特价商品上显示销售图标。仅在主页上显示,而不是在所有页面上显示,php,magento,Php,Magento,在magento的特价商品上显示销售图标。仅在主页上显示,而不是在所有页面上显示 我在其中编辑的代码 app/design/frontend/default/template/catalog/product/list.html 从行号:95 <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($this->getImageLabel($
从行号:95
<a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>"` class="product-image"><img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(135); ?>" width="135" height="135" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" />
<?php
// Get the Special Price
$specialprice = Mage::getModel('catalog/product')->load($_product->getId())->getSpecialPrice();
// Get the Special Price FROM date
$specialPriceFromDate = Mage::getModel('catalog/product')->load($_product->getId())->getSpecialFromDate();
// Get the Special Price TO date
$specialPriceToDate = Mage::getModel('catalog/product')->load($_product->getId())->getSpecialToDate();
// Get Current date
$today = time();
if ($specialprice):
if($today >= strtotime( $specialPriceFromDate) && $today <= strtotime($specialPriceToDate) || $today >= strtotime( $specialPriceFromDate) && is_null($specialPriceToDate)):
?>
<img src="../images/sale-icon.png" width="101" height="58" class="onsaleicon" />
<?php
endif;
endif;
?>
</a>
此图标仅显示在主页中,而不是所有产品列表页面中。如何在所有页面中显示
请帮我解决这个问题这是因为您插入了如下图像:
<img src="../images/sale-icon.png" width="101" height="58" class="onsaleicon" />
[编辑]有点离题了,但最好知道:不要为您需要的每个产品属性使用
Mage::getModel('catalog/product')->load($\u product->getId())
。它比你想象的要慢得多。只需在后端编辑您需要的属性(特价、特价从和特价到),将产品列表中使用的字段设置为是,重新索引所有内容,您应该能够直接使用:
$specialprice = $_product->getSpecialPrice();
$specialPriceFromDate = $_product->getSpecialFromDate();
$specialPriceToDate = $_product->getSpecialToDate();
好的,我已经按照你说的放好了。但这只是显示在主页上的产品而已。。不在像类别页面这样的内部页面中。首先检查此URL,确保您在主页上使用的产品模板与类别中的模板相同。如果你这样做,那么很可能你的一个If语句返回false。我没有其他想法。就像我之前说过的,也许你的一个if语句返回false。检查哪一个。那将是一个很好的开始。小心比较像这样的日期!这种假设永远不会发生:$today
$specialprice = $_product->getSpecialPrice();
$specialPriceFromDate = $_product->getSpecialFromDate();
$specialPriceToDate = $_product->getSpecialToDate();