Pergunta

Eu tenho um pouco personalizada magento galeria, e só agora é que vi que nenhuma imagem é exibida quando o produto não contém uma imagem.

Como posso chamar uma Magento produto imagem de marcador de posição se o produto não tem imagens??

Eu sou bastante novo para o magento e não consigo entender...

Eu adicionei o ProductRibbon plugin para todas as minhas imagens, para o cliente para ver claramente que o produto é novo ou não...

Obrigado,

Aqui está o código:

<?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 } ?>
Foi útil?

Solução

Usando O Produto Marcadores De Posição De Imagem

Magento Go utiliza temporária imagens como marcadores de posição até que o produto permanente imagens estão disponíveis.A inicial imagem de marcador de posição é o Magento logo, que você pode substituir por imagens de espaço reservado de seu próprio projeto.

enter image description here

                         Product Image Placeholders

Para fazer o upload de produto marcadores de posição de imagem:

  1. A partir do painel de controle, selecione Sistema > Configuração..
  2. No painel de Configuração à esquerda, em Catálogo, selecione Catálogo.
  3. Clique para expandir o Produto Marcadores de posição de Imagem seção.
  4. Para cada tipo de imagem, clique no botão Procurar para carregar a marcador de posição de imagem que você deseja usar para a base da imagem, imagem pequena, e imagens em miniatura.Se você gosta, você pode usar a mesma imagem para cada tipo.
  5. Quando concluir, clique em Salvar botão Config.

enter image description here

Sistema > Configuração > Catálogo:Produto Marcadores De Posição De Imagem

Outras dicas

Oi você pode obter o lugar de titular de Mage::getStoreConfig() função

Imagem Base: Mage::getStoreConfig("catalog/placeholder/image_placeholder");

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

Miniatura Mage::getStoreConfig("catalog/placeholder/thumbnail_placeholder");

Você precisa apenas adicionar imagem de catálogo caminho para essa url antes de

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

exemplo ficar pequena ritmo titular imagem tente isso

Mage::getSingleton('catalog/product_media_config')->getBaseMediaUrl(). '/placeholder/' .Mage::getStoreConfig("catalog/placeholder/small_image_placeholder");
Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange
scroll top