Я сейчас редактирую премиум-шаблон magento (Hellodisplay), у которого есть раздел рекомендуемых товаров на домашней странице. Этот раздел работает путем вызова определенной категории, определенной в статическом блоке. Моя проблема с этим разделом в том, что я никак не мог показать специальную цену продуктов. Хотя специальный продукт появился на странице сведений о продукте. Он также работает нормально для шаблона по умолчанию.
Я пробовал обе функции getSpecialProduct
и getFinalProduct
. GetSpecialProduct ничего не возвращает, а GetFinalProduct возвращает нормальную цену. Я также попытался использовать дочерний html цены темы по умолчанию (price.phtml). Это также не работает.
Затем я проверяю вывод print_r () переменной $_product
как на домашней странице, так и на странице продукта. Я заметил различия. Специальное значение массива существует только в переменной $_product
страниц продукта. Так как же я могу сделать так, чтобы это специальное значение цены отображалось на главной странице?
Это мой код featured.phtml
<?php
/**
* Product list template
*
* @see Mage_Catalog_Block_Product_List
*/
?>
<?php
$product_limit = 3;
$i = 1;
$_productCollection=$this->getLoadedProductCollection();
$cat_id = $this->category_id;
$_productCollection = Mage::getResourceModel('catalog/product_collection')
->addAttributeToSelect(array('name', 'price', 'small_image', 'status'), 'inner')
->addCategoryFilter(Mage::getModel('catalog/category')->load($cat_id));
?>
<?php if(!$_productCollection->count()): ?>
<div class="note-msg">
<?php echo $this->__('There are no products matching the selection. Please provide a category ID.') ?>
</div>
<?php else: ?>
<ul class="frontgrid">
<?php $_collectionSize = $_productCollection->count() ?>
<?php foreach ($_productCollection as $_product): ?>
<?php if($i >= $product_limit+1){
break;
} else{
$a = $i % 3;
$i++;
} ?>
<li class="<?php echo "col".$a; ?>">
<a class="imglink" href="<?php echo $_product->getProductUrl() ?>">
<img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(200, 200); ?>" width="200" height="200" alt="<?php echo $this->htmlEscape($_product->getName()); ?>" />
</a>
<h4><?php echo $this->htmlEscape($_product->getName()); ?></h4>
<div class="boxbar">
<span class="oldprice">
<?php if($this->htmlEscape($_product->getSpecialPrice())){ ?>
€ <?php echo number_format($this->htmlEscape($_product->getPrice()), 2) ?>
<? } ?>
</span>
<span class="price">
<?php if($this->htmlEscape($_product->getSpecialPrice())){ ?>
€ <?php echo number_format($this->htmlEscape($_product->getSpecialPrice()), 2) ?><br/>
<? } else { ?>
€ <?php echo number_format($this->htmlEscape($_product->getPrice()), 2) ?>
<? } ?>
</span>
<a class="moreinfo" href="<?php echo $_product->getProductUrl() ?>">Meer Info »</a>
</div>
</li>
<?php endforeach ?>
</ul>
<?php endif; ?>
Спасибо, прежде чем :)