我有点定制的magento图库,只有现在我发现了在产品不包含图像时没有显示图像。

如果产品没有图像,我如何调用Magento产品图像占位符??

我对magento相当新的,无法弄清楚...

我已将ProductRibbon插件添加到所有图像中,用于客户端,清楚地查看产品是新的还是不...

谢谢,

以下是代码:

<?php
    $_product = $this->getProduct();
    $_helper = $this->helper('catalog/output');
?>

<?php        
if(Mage::getStoreConfig('productribbon/mconnectgeneral/module_enable_disable'))
{ ?>
<link type="text/css" rel="stylesheet" href="<?php echo $this->getSkinUrl('css/mconnect/productribbon/mconnectproductribbon.css');?>" />    
<?php    
            //$_product = Mage::registry('current_product');
            $productViewSku = $_product->getSku(); 
            //var_dump($productViewSku);

            //exit;
            $NowView = time();
            $CrntDate = date('Y-m-d', $NowView);
            $currntDateintimeView = strtotime($CrntDate);

            //get imagepath
            $getnewproductsimagenameview = Mage::getStoreConfig('productribbon/mconnectnewproductarrival/new_products_ribbon');
            $getbestproductsimagename = Mage::getStoreConfig('productribbon/mconnectbestproduct/best_products_ribbon');
            $getsalesproductsimagename = Mage::getStoreConfig('productribbon/mconnectsalesproduct/sales_products_ribbon');
            $getreviewproductsimagename = Mage::getStoreConfig('productribbon/mconnectreviewproduct/review_products_ribbon');

            //get value yes/no for displayed ribbon
            //$getconfigNewproductgeneral = Mage::getStoreConfig('productribbon/mconnectgeneral/display_product_label_on_view');
            $getconfigNewproduct = Mage::getStoreConfig('productribbon/mconnectnewproductarrival/display_on_new_product_label_on_view');
            $getconfigBestproduct = Mage::getStoreConfig('productribbon/mconnectbestproduct/display_on_best_product_label_on_view');
            $getconfigSalesproduct = Mage::getStoreConfig('productribbon/mconnectsalesproduct/display_on_sales_product_label_on_view');
            $getconfigReviewedproduct = Mage::getStoreConfig('productribbon/mconnectreviewproduct/display_on_sales_product_label_on_view');

            //get days from admin
            $adminDayFornewproduct = Mage::getStoreConfig('productribbon/mconnectnewproductarrival/number_for_display_ribbon_new');
            $adminDayForBestproduct = Mage::getStoreConfig('productribbon/mconnectbestproduct/number_for_display_ribbon_best');
            $adminDayForReviewproduct = Mage::getStoreConfig('productribbon/mconnectreviewproduct/number_for_display_ribbon_review');

            //get style from admin for ribbon
            $adminStyleNew = Mage::getStoreConfig('productribbon/mconnectnewproductarrival/style_for_logo_new_Ribbon_view');
            $adminStyleBest = Mage::getStoreConfig('productribbon/mconnectbestproduct/style_for_best_Ribbon_view');
            $adminStyleSales = Mage::getStoreConfig('productribbon/mconnectsalesproduct/style_for_sales_Ribbon_view');
            $adminStyleReview = Mage::getStoreConfig('productribbon/mconnectreviewproduct/style_for_review_Ribbon_view');

            //get enable/disable value from store config
            $getnewproductsRibbon = Mage::getStoreConfig('productribbon/mconnectnewproductarrival/new_products_module_enable_disable');
            $getbestproductsRibbon = Mage::getStoreConfig('productribbon/mconnectbestproduct/best_products_module_enable_disable');
            $getsalesproductsRibbon = Mage::getStoreConfig('productribbon/mconnectsalesproduct/sales_products_module_enable_disable');
            $getreviewproductsRibbon = Mage::getStoreConfig('productribbon/mconnectreviewproduct/review_products_module_enable_disable');

            //set position of ribbon
            $getpositionforNewproduct = Mage::getStoreConfig('productribbon/mconnectnewproductarrival/position_new_product');
            $getpositionforBestproduct = Mage::getStoreConfig('productribbon/mconnectbestproduct/position_best_product');
            $getpositionforSalesproduct = Mage::getStoreConfig('productribbon/mconnectsalesproduct/position_sales_product');
            $getpositionforMostRiviewedproduct = Mage::getStoreConfig('productribbon/mconnectreviewproduct/position_reviewed_product');
                    ?>

<?php 
} ?>


<?php if ($_product->getImage() != 'no_selection' && $_product->getImage()){ ?>
<!-- Place somewhere in the <body> of your page -->
<div id="slider" class="flexslider">
  <ul class="slides">
    <?php foreach ($this->getGalleryImages() as $_image){ ?>
        <li>
    <?php if(Mage::getStoreConfig('productribbon/mconnectgeneral/module_enable_disable')){

             //get model for new product    
                if($getnewproductsRibbon == 1 &&  $getconfigNewproduct ==1){
                $NweProductClass = new Mconnect_Productribbon_Block_Productribbon();
                $NweProductClass->MediaNewProduct($adminDayFornewproduct,$productViewSku,$currntDateintimeView,$getnewproductsimagenameview,$adminStyleNew,$getpositionforNewproduct);

               }

               //get model for best seller
                if($getbestproductsRibbon == 1 && $getconfigBestproduct == 1){
                    $BestProductClass = new Mconnect_Productribbon_Block_Productribbon();
                    $BestProductClass->MediaBestProduct($productViewSku,$adminDayForBestproduct,$currntDateintimeView,$getbestproductsimagename,$adminStyleBest,$getpositionforBestproduct);

                 }

               // special price products
                    $specialSpricelabel = $_product->getSpecialPrice();
                    if($getsalesproductsRibbon == 1 && $getconfigSalesproduct == 1){
                        $SalesProductClass = new Mconnect_Productribbon_Block_Productribbon();
                        $SalesProductClass->MediaSalesProduct($specialSpricelabel,$getsalesproductsimagename,$adminStyleSales,$getpositionforSalesproduct);

                    }

              //review products
                if($getreviewproductsRibbon == 1 && $getconfigReviewedproduct == 1){
                    $ReviewProductClass = new Mconnect_Productribbon_Block_Productribbon();
                    $ReviewProductClass->MediaReviewProduct($productViewSku,$adminDayForReviewproduct,$currntDateintimeView,$getreviewproductsimagename,$adminStyleReview,$getpositionforMostRiviewedproduct);

                 }

        } ?>
            <img src="<?php echo $this->helper('catalog/image')->init($this->getProduct(), 'image', $_image->getFile()); ?>" alt="<?php echo $this->htmlEscape($_image->getLabel()) ?>" />
        </li>
    <?php } ?>
  </ul>
</div>
<?php if (count($this->getGalleryImages()) > 1) { ?>
<div id="carousel" class="flexslider">
  <ul class="slides">
    <?php foreach ($this->getGalleryImages() as $_image){ ?>
        <li>
           <img src="<?php echo $this->helper('catalog/image')->init($this->getProduct(), 'thumbnail', $_image->getFile())->resize(85); ?>" width="56" height="56" alt="<?php echo $this->htmlEscape($_image->getLabel()) ?>" />
        </li>
    <?php } ?>
    <!-- items mirrored twice, total of 12 -->
  </ul>
</div>
<?php } ?>
<script type="text/javascript">
jQuery(window).load(function() {
  // The slider being synced must be initialized first
  jQuery('#carousel').flexslider({
    animation: "slide",
    controlNav: false,
    animationLoop: false,
    slideshow: false,
    itemWidth: 85,
    itemMargin: 15,
    asNavFor: '#slider',
    mousewheel: true,
  });

  jQuery('#slider').flexslider({
    animation: "slide",
    controlNav: false,
    animationLoop: false,
    slideshow: false,
    sync: "#carousel",
    lightbox: true,
  });
});
</script>
<?php } ?>
.

有帮助吗?

解决方案

使用产品图像占位符

Magento Go使用临时图像作为占位符,直到可用的永久产品图像。初始占位符图像是Magento Logo,您可以用自己设计的占位符图像替换。

                         Product Image Placeholders
.

上传产品图像占位符:

  1. 从管理面板,选择系统>配置..
  2. 在左侧的配置面板中,在目录下,选择 目录。
  3. 单击以展开产品图像占位符部分。
  4. 对于每个图像类型,单击浏览按钮以上传 占位符图片您要用于基础图像,小幅图像, 和缩略图图像。如果您愿意,您可以使用相同的图像 每种类型。
  5. 完成后,单击“保存配置”按钮。

    系统>配置>目录:产品图像占位符

其他提示

嗨,您可以从Mage::getStoreConfig()函数中获取放置持有者

基础图像: Mage::getStoreConfig("catalog/placeholder/image_placeholder");

small: Mage::getStoreConfig("catalog/placeholder/small_image_placeholder");

缩略图 Mage::getStoreConfig("catalog/placeholder/thumbnail_placeholder");

您需要在之前添加此URL上的目录图像路径

  Mage::getSingleton('catalog/product_media_config')->getBaseMediaUrl(). '/placeholder/' .
.

获取小型步伐持有者图像尝试此

Mage::getSingleton('catalog/product_media_config')->getBaseMediaUrl(). '/placeholder/' .Mage::getStoreConfig("catalog/placeholder/small_image_placeholder");
.

许可以下: CC-BY-SA归因
scroll top