Magento 2.4.5'te Son Görüntülenen Ürünler Bulun Widget'ına Özel Nitelik (FİYAT ve SKU) Veri Eklemek

İçindekiler

  1. Giriş
  2. Çevre Kurulumu
  3. Adım 1: Özel Bir Modül Oluşturma
  4. Adım 2: Ürün Modelini Genişletme
  5. Adım 3: Widget Şablonunu Geçersiz Kılma
  6. Adım 4: Düzen XML'i Güncelleme
  7. Adım 5: Test Etme ve Dağıtma
  8. Sonuç
  9. Sık Sorulan Sorular

Giriş

Bir e-ticaret sitesine göz atarken, daha önce görüntülediğiniz ürünlerle karşılaşabilir, ancak ayrıntılarını tam olarak hatırlayamazsınız. Neyse ki, bir widget, son görüntülenen ürünleri gösterir, ancak yalnızca ad, resim ve 'daha fazla bilgi edinin' düğmesini gösterir. Bu widget'ın aynı zamanda fiyat ve SKU'yu da göstermesi daha faydalı olmaz mıydı? Bu blog yazısı, Magento 2.4.5 mağazanızı bu özel nitelikleri Son Görüntülenen Ürünler widget'ına ekleyerek geliştirmeye odaklanır, böylece kullanıcı deneyimini artırır ve potansiyel olarak satışlarınızı artırır.

Magento sitesi sahibi ya da geliştirici misiniz ve son görüntülenen ürünler widget'ınızı daha bilgilendirici hale getirmek mi istiyorsunuz? Doğru yere geldiniz. Burada, Magento 2.4.5'te bu widget'a FİYAT ve SKU gibi özel nitelikleri nasıl ekleyeceğinizi adım adım anlatacağız.

Çevre Kurulumu

Düzenlemelere başlamadan önce, geliştirme ortamınızın doğru şekilde kurulduğundan emin olun:

  1. Magento Kurulumu: Çalışan Magento 2.4.5 örneğiniz olduğundan emin olun.
  2. Kod Tabanına Erişim: Magento kod tabanınıza FTP, SSH veya benzer bir yöntemle erişin.
  3. Yedekleme: Çekirdek dosyalara değişiklik yapmadan önce her zaman sitenizi yedekleyin.

Adım 1: Özel Bir Modül Oluşturma

Çekirdek dosyalara dokunmamak için bu geliştirme için özel bir modül oluşturacağız.

  1. Dizinler Oluşturun:

    • app/code/SizinSatıcı/GeçmişteGörülen
    • app/code/SizinSatıcı/GeçmişteGörülen/etc
    • app/code/SizinSatıcı/GeçmişteGörülen/etc/module.xml
    • app/code/SizinSatıcı/GeçmişteGörülen/registration.php
  2. module.xml tanımlayın:

    <?xml version="1.0"?>
    <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
        <module name="SizinSatıcı_GeçmişteGörülen" setup_version="1.0.0"/>
    </config>
    
  3. registration.php oluşturun:

    <?php
    \Magento\Framework\Component\ComponentRegistrar::register(
        \Magento\Framework\Component\ComponentRegistrar::MODULE,
        'SizinSatıcı_GeçmişteGörülen',
        __DIR__
    );
    ?>
    

Adım 2: Ürün Modelini Genişletme

FİYAT ve SKU gibi ek özniteliklerin mevcut olduğundan emin olmak için ürün modelini genişletmemiz gerekiyor.

  1. Ürün özniteliklerini XML dosyası oluşturun:

    • app/code/SizinSatıcı/GeçmişteGörülen/etc/frontend/events.xml
    <?xml version="1.0"?>
    <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework/Event/etc/events.xsd">
        <event name="catalog_block_product_list_collection">
            <observer name="add_custom_attributes" instance="SizinSatıcı\GeçmişteGörülen\Observer\ÖzelÖznitelikleriEkle"/>
        </event>
    </config>
    
  2. Gözlemci Sınıfı Oluşturun:

    • app/code/SizinSatıcı/GeçmişteGörülen/Observer/ÖzelÖznitelikleriEkle.php
    <?php
    namespace SizinSatıcı\GeçmişteGörülen\Observer;
    
    use Magento\Framework\Event\ObserverInterface;
    
    class ÖzelÖznitelikleriEkle implements ObserverInterface
    {
        public function execute(\Magento\Framework\Event\Observer $observer)
        {
            $collection = $observer->getEvent()->getCollection();
            $collection->addAttributeToSelect('price');
            $collection->addAttributeToSelect('sku');
        }
    }
    ?>
    

Adım 3: Widget Şablonunu Geçersiz Kılma

Sonraki adım, Son Görüntülenen Ürünler widget'ının kullandığı şablon dosyasını geçersiz kılmaktır.

  1. Düzenlişen widget şablonları dizini oluşturun:

    • app/code/SizinSatıcı/GeçmişteGörülen/view/frontend/templates
  2. Mevcut şablonu kopyalayın: Orijinal şablon dosyasını vendor/magento/module-catalog/view/frontend/templates/product/list/items.phtml konumunda bulun ve özel modülünüzün şablon dizinine kopyala.

  3. Şablonu SKU ve Fiyat içerecek şekilde değiştirin:

    • app/code/SizinSatıcı/GeçmişteGörülen/view/frontend/templates/product/list/items.phtml
    <?php
    foreach ($_productCollection as $_product): ?>
        <div class="product-item">
            <div class="product-item-info">
                <a href="<?php echo $_product->getProductUrl(); ?>" class="product-item-photo">
                    <span class="product-item-image">
                        <img src="<?php echo $block->getImage($_product, 'product_base_image')->getImageUrl(); ?>" alt="<?php echo htmlspecialchars($_product->getName(), ENT_QUOTES, 'UTF-8'); ?>">
                    </span>
                </a>
                <div class="product-item-details">
                    <strong class="product-item-name"><a href="<?php echo $_product->getProductUrl(); ?>"><?php echo htmlspecialchars($_product->getName(), ENT_QUOTES, 'UTF-8'); ?></a></strong>
                    <div class="product-item-price">
                        <?php echo $block->getPriceHtml($_product); ?>
                    </div>
                    <div class="product-item-sku">
                        SKU: <?php echo htmlspecialchars($_product->getSku(), ENT_QUOTES, 'UTF-8'); ?>
                    </div>
                </div>
            </div>
        </div>
    <?php endforeach; ?>
    

Adım 4: Düzen XML'i Güncelleme

Magento'nun özel şablonumuzu widget için kullandığından emin olmak için düzen XML'ini güncellememiz gerekiyor.

  1. Düzen Güncellemesi Oluşturun:

    • app/code/SizinSatıcı/GeçmişteGörülen/view/frontend/layout/default.xml
    <?xml version="1.0"?>
    <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
        <body>
            <referenceBlock name="recently_viewed.products">
                <action method="setTemplate">
                    <argument name="template" xsi:type="string">SizinSatıcı_GeçmişteGörülen::product/list/items.phtml</argument>
                </action>
            </referenceBlock>
        </body>
    </page>
    

Adım 5: Test Etme ve Dağıtma

Modülünüzü kaydetmek için tüm önbellekleri temizleyin ve setup:upgrade komutunu çalıştırın:

php bin/magento setup:upgrade
php bin/magento setup:static-content:deploy
php bin/magento cache:clean
php bin/magento cache:flush

Test Etme

  1. Son Görüntülenen Ürünler Widget'ı: Herhangi bir ürün sayfasına gidin ve Son Görüntülenen Ürünler widget'ını popüle etmek için birkaç ürünü görüntüleyin.
  2. Öznitelikleri Kontrol Edin: FİYAT ve SKU'nun widget girdilerinde doğru şekilde görüntülendiğinden emin olun.

Sonuç

Bu adımları takip ederek, Magento 2.4.5'te Son Görüntülenen Ürünler Widget'ına FİYAT ve SKU gibi özel nitelikler ekleyebilirsiniz. Bu, kullanıcı deneyimini artırmakla kalmaz, aynı zamanda müşterilere hızlı bir şekilde bilinçli kararlar almalarına yardımcı olacak temel bilgileri de sunar. Zenginleştirilmiş bir alışveriş deneyimi sunmak için Magento mağazanızı özelleştirerek rekabetin bir adım önünde olun.

Sık Sorulan Sorular

S1: Widget'a daha fazla özel nitelik ekleyebilir miyim? Evet, aynı yaklaşımı izleyin ve gerektiğinde gözlemciyi değiştirin.

S2: Özel modülü uyguladıktan sonra sorunlarla karşılaşırsam ne yapmalıyım? Tüm önbellekleri temizleyin ve verileri yeniden oluşturun. Herhangi bir değişiklik yapmadan önce her zaman sitenizi yedekleyin.

S3: Bu özelleştirmeler sitemin performansını etkiler mi? Birkaç ekstra özniteliğin genellikle etkisi minimaldir, ancak siteniz yüksek trafiğe sahipse performansı izlemeniz iyi olur.