2016-04-02 17 views
0

Bloğumda gösterilecek hiçbir şey olmadığında "Ürün Yok" veya "Seçimle eşleşen ürün yok" mesajını göstermem gerekiyor.Özel bloğumda ürün yokken “Ürün Yok” mesajını nasıl gösterirsiniz?

<?php   
$manufacturer = Mage::registry('current_product')->getMerchantName(); 

$productCollection = Mage::getModel('catalog/product')->getCollection() 
->addAttributeToSelect('*') 
->addAttributeToFilter('merchant_name',$manufacturer); 
$productCollection->getSelect()->order('RAND()'); 
$productCollection->getSelect()->limit(5); 

foreach ($productCollection as $_product) 
?> 

<a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->htmlEscape($_product->getName()) ?>" class="product-image"><img src="<?php echo $this->helper('catalog/image')->init($_product, 'thumbnail')->resize(228) ?>" width="228" height="228" alt="<?php echo $this->htmlEscape($_product->getName()) ?>" /></a> 

<div class="product-details"> 
<p class="product-name"><a href="<?php echo $_product->getProductUrl() ?>"><?php echo $this->htmlEscape($_product->getName()) ?></a></p> 

<?php 
$merchant_name = $_product->getAttributeText('merchant_name'); 
if ($merchant_name){?> 
<div>by <?php echo $merchant_name;?> </div> 
<?php } 

else if ($_product->getIsEbayaffiliate()) { ?> 
<div>by eBay</div> 
<?php } 

else { ?> 
<div>by Home Done</div> 
<?php } ?> 

Ayrıca ürün fiyatını göstermek için yukarıdaki kodun üzerinde getPriceHtml eklemem gerekiyor. Ben Orada

cevap

0

<?php echo $this->getPriceHtml($_item, true) ?> denedi

gitmek: :

<?php if(is_array($productCollection) && count($productCollection)): ?> 
    <?php foreach ($productCollection as $_product): ?> 
     <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->htmlEscape($_product->getName()) ?>" class="product-image"><img src="<?php echo $this->helper('catalog/image')->init($_product, 'thumbnail')->resize(228) ?>" width="228" height="228" alt="<?php echo $this->htmlEscape($_product->getName()) ?>" /></a> 
     <div class="product-details"> 
      <p class="product-name"><a href="<?php echo $_product->getProductUrl() ?>"><?php echo $this->htmlEscape($_product->getName()) ?></a></p> 
     <?php $merchant_name = $_product->getAttributeText('merchant_name'); ?> 
     <?php if ($merchant_name):?> 
      <div>by <?php echo $merchant_name;?> </div> 
     <?php elseif($_product->getIsEbayaffiliate()): ?> 
      <div>by eBay</div> 
     <?php else: ?> 
      <div>by Home Done</div> 
     <?php endif; ?> 
     </div> 
    <?php endforeach; ?> 
<?php else: ?> 
// here goes whatever you want to display if no products found in list 
<?php endif; ?> 
+0

böyle kodunuzu eklemiş (Önerileri kullanım daha iyi okunabilmesi için <?php if(): ?> gibi etiketler kapalı) https://jsfiddle.net/ fhp3uvbu /, ama ben "getMerchantName" – user6036056

+0

@ user6036056 özniteliğinde çok az ürün var HİÇBİR ÜRÜN mesajı alıyorum Aslında PHP bu jsfiddle üzerinde çalıştıramazsınız .. PHP bu şekilde yorumlamak için tasarlanmamıştır. En iyi vuruşunuz hata ayıklamaya başlamaktır. "Echo" işlevine basınAdı ya da "print_r (array())" komutunda, çağrılan bir işlevin her başlangıcında ve sonunda (dönüşten, kopmadan veya istisnadan) Object ya da Array başlatılır. Hata izlemenin sizi ne kadar derinleştireceğini kontrol edin, bunun neden işe yaramayacağını bilmelisiniz. – Braza