문제

I have a table on my home page which shows 5 products from a category, I made called "Recommended For You". This works perfectly fine.

The only thing I want to add is if the product has a special price (is on sale), I want a little image to appear in the product image. I have done this in other places on my website by giving them the class "sale-label". However, I can't set this class to all the product images as not all of them are on sale.

I assume I need an if statement to check if the product has a special price. If true, then set the class to "sale-label".

However, I do not know how to code this if anyone could help.

This is my code which I use to show the products on my home page.

<div class="random_featured_products">
<?php
Mage::getSingleton('catalog/layer')->setData("product_collection",NULL);
$this->_productCollection = null;
$_productCollection=$this->getLoadedProductCollection();
$_productCollection->getSelect()->order(new Zend_Db_Expr('RAND()'));

?>
    <h4 class="recommended_title">
    <!--class="Recommended_title"-->
    <?php echo $this->__("Recommended For You");?></h4>
    <hr class="title_left">
<div class="products-grid two_columns_5">
<?php $_productCollection=$this->getLoadedProductCollection() ?>
<?php if(!$_productCollection->count()): ?>
<div class="padder">
<div class="note-msg">
    <?php echo $this->__('There are no products matching the selection.') ?>
</div>
</div>
<?php else: ?>

<?php // Grid Mode ?>
 <!-- the class name will change to .listing-type-cell if viewing in list mode -->
<?php $_collectionSize = $_productCollection->count() ?>

<?php $_items = $_productCollection->getItems(); 
           shuffle($_items); ?>

    <table>
    <?php $i=0; foreach ($_items as $_product): ?>
    <?php if ($i++%4==0): ?>
    <tr>
    <?php endif ?>

    <ol class="grid ">
        <li class="item1">
            <p class="product-image">
                <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->htmlEscape($_product->getShortName()) ?>">
                    <img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image'); ?>" alt="<?php echo $this->htmlEscape($_product->getShortName()) ?>"/>
                </a>
            </p>
            <p  class="product_desc" ><a  href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->htmlEscape($_product->getShortName()) ?>"><?php echo $this->htmlEscape($_product->getShortName()) ?></a></p>
            <?php if($_product->getRatingSummary()): ?>
                <!--?php echo $this->getReviewsSummaryHtml($_product, 'short') ?-->
                <?php echo $this->getReviewsSummaryHtml($_product) ?>
            <?php endif; ?>

            <div class="pro_price">
            <?php echo $this->getPriceHtml($_product, true) 
            ?>
            </div>

        </li>
    <?php if ($i%5==0 && $i!=$_collectionSize): ?>
    </tr>
    <?php endif ?>

    <?php if ($i==5) break;  // show 5 products max ?> 

    <?php endforeach ?>
    <?php for($i;$i%5!=0;$i++): ?>
          <td class="empty-product">&nbsp;</td>
    <?php endfor ?>
    <?php if ($i%5==0): ?>
    </tr>
    <?php endif ?>
    </table>
    <script type="text/javascript">decorateTable('product-list-table')</script>
</div>
</div>
<?php endif; ?>

Thanks for any help

올바른 솔루션이 없습니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 magento.stackexchange
scroll top