Ajouter un magento image place de titulaire si le produit n'a pas d'images
-
12-12-2019 - |
Question
J'ai un peu personnalisé magento galerie et c'est seulement maintenant que j'ai vu qu'aucune image n'est affichée lorsque le produit ne contient pas une image.
Comment puis-je appeler un Magento produit l'image d'espace réservé si le produit n'a pas d'images??
Je suis assez nouveau dans magento et ne peut pas le comprendre...
J'ai ajouté le ProductRibbon plugin pour toutes mes images, pour les clients de voir clairement que le produit est nouveau ou pas...
Merci,
Voici le code:
<?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 } ?>
La solution
à l'aide d'images d'images de produit
Magento Go utilise des images temporaires comme des espaces réservés jusqu'à la disponibilité des images de produit permanent. L'image de placement initial est le logo Magento, que vous pouvez remplacer par des images de placement de votre propre design.
Product Image Placeholders
- à partir du panneau d'administration, sélectionnez Système> Configuration ..
- dans le panneau de configuration de gauche, dans le catalogue, sélectionnez Catalogue.
- Cliquez pour développer la section des situations d'image du produit.
- Pour chaque type d'image, cliquez sur le bouton Parcourir pour télécharger le bouton Image de placement que vous souhaitez utiliser pour l'image de base, une petite image, et images vignettes. Si vous voulez, vous pouvez utiliser la même image pour chaque type.
- Lorsque vous remplissez, cliquez sur le bouton Enregistrer la configuration.
Système> Configuration> Catalogue: Image de produit Inscription des espaces réservés
Autres conseils
Salut, vous pouvez obtenir la place de titulaire de Mage::getStoreConfig()
la fonction
Image de Base: Mage::getStoreConfig("catalog/placeholder/image_placeholder");
petit: Mage::getStoreConfig("catalog/placeholder/small_image_placeholder");
Miniature Mage::getStoreConfig("catalog/placeholder/thumbnail_placeholder");
Vous avez juste besoin d'ajouter un catalogue le chemin de l'image sur cette url avant
Mage::getSingleton('catalog/product_media_config')->getBaseMediaUrl(). '/placeholder/' .
exemple de petites rythme titulaire de l'image, essayez ce
Mage::getSingleton('catalog/product_media_config')->getBaseMediaUrl(). '/placeholder/' .Mage::getStoreConfig("catalog/placeholder/small_image_placeholder");