商品に画像がない場合は、Magento Image Place Holderを追加する
-
12-12-2019 - |
質問
ビットカスタマイズされたMagento Galleryを持っていて、製品に画像が含まれていないときに画像が表示されていないことを見つけました。
製品に画像がない場合は、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のロゴです。
.
Product Image Placeholders
製品イメージプレースホルダーをアップロードするには:
- 管理パネルの[システム]> [設定]を選択します。
- 左側の設定パネルの[カタログ]の下にある[] カタログ。
- クリックすると、製品画像のプレースホルダのセクションを展開します。
- 各画像の種類の場合は、[参照]ボタンをクリックしてアップロードする ベースイメージ、小画像に使用したいプレースホルダー画像、 そしてサムネイル画像。もしそうなら、あなたは同じ画像を使うことができます 各タイプ
- 完了すると、[設定の保存]ボタンをクリックします。
システム>構成>カタログ:製品イメージプレースホルダー
他のヒント
こんにちはあなたはMage::getStoreConfig()
関数からの所定の所有者を得ることができます
ベース画像: Mage::getStoreConfig("catalog/placeholder/image_placeholder");
小さい: 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");