أضف حاملًا نائبًا لصورة الماجنتو إذا لم يكن المنتج يحتوي على صور

magento.stackexchange https://magento.stackexchange.com//questions/38155

سؤال

لدي معرض 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، والذي يمكنك استبدال صور النائب ذات التصميم الخاص بك.

أدخل وصف الصورة هنا giveacodicetagpre.

لتحميل منتجات منتجات الصور المنتج:

  1. من لوحة المسؤول، حدد النظام> التكوين ..
  2. في لوحة التكوين على اليسار، تحت الكتالوج، حدد كتالوج.
  3. انقر لتوسيع قسم منتجات نعم الصور المنتج.
  4. لكل نوع صورة، انقر فوق الزر "استعراض" لتحميل صورة النائب التي تريد استخدامها للصورة الأساسية، صورة صغيرة، وصور الصورة المصغرة. إذا أردت، يمكنك استخدام نفس الصورة ل كل نوع.
  5. عند اكتمالها، انقر فوق الزر "حفظ التكوين".

    أدخل وصف الصورة هنا

    النظام> التكوين> الكتالوج: منتجات صور الصور المنتج

نصائح أخرى

مرحبا يمكنك الحصول على حامل المكان من 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");
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى magento.stackexchange
scroll top