Adicionar um magento imagem de marcador de posição se o produto não tem imagens
-
12-12-2019 - |
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 } ?>
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.
Product Image Placeholders
Para fazer o upload de produto marcadores de posição de imagem:
- A partir do painel de controle, selecione Sistema > Configuração..
- No painel de Configuração à esquerda, em Catálogo, selecione Catálogo.
- Clique para expandir o Produto Marcadores de posição de Imagem seção.
- 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.
- Quando concluir, clique em Salvar botão Config.
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");