İçindekiler
- Giriş
- Magento 2 Müşteri Grubu Fiyatlandırmasını Anlama
- Müşteri Grubu Fiyatlandırmasını Programatik Olarak Devre Dışı Bırakmak
- Sonuç
- Sıkça Sorulan Sorular (SSS)
Giriş
Müşterilere sorunsuz bir deneyim sunmak, çeşitli fiyatlandırma stratejilerini yönetmeyi gerektirir. Magento 2, müşteri gruplarına dayalı farklı fiyatlandırma sağlamak için müşteri gruplarına dayalı fiyatlandırma da dahil olmak üzere birçok özellik sunan sağlam bir e-ticaret platformudur. Bununla birlikte, belirli siparişlerde genel ürün fiyatlandırması müşteriye özel fiyatlandırmadan daha tercih edilebilir durumlar olabilir. Magento 2'de müşteri grubu fiyatlandırmasını programatik olarak devre dışı bırakmak istiyor musunuz? Bu kapsamlı kılavuz, bu özelleştirmeyi elde etmek için gerekli adımları ve metodolojileri araştıracaktır.
Magento 2'nin fiyatlandırma sisteminin ayrıntılarına inceleyeceğiz ve müşteri grubu fiyatlandırmasını devre dışı bırakmak için gerekli olan eylemleri sunacağız. Bu platformda deneyimli bir Magento geliştiricisi veya platforma yeni başlayan biri olun, bu yayın size belirli gereksinimlerinizi karşılamak için gerekli bilgileri sağlayacaktır.
Bu yayının sonunda, Magento 2'nin fiyatlandırma ayarlarını programatik olarak müşteri grupu fiyatlandırmasını geçersiz kılmak için nasıl değiştireceğinizi net bir şekilde anlamış olmanız gerekmektedir. O zaman dalalım.
Magento 2 Müşteri Grubu Fiyatlandırmasını Anlama
Magento 2, farklı müşteri grupları için birden fazla fiyatlandırma seviyesi sunan gelişmiş bir fiyatlandırma yapısı sunar. Bu, sadık müşterilere, işletmelere veya tanımlanan herhangi bir müşteri segmentine özel indirimler sunabilen işletmelere özel indirimler sunmanızı sağlar. Ancak, müşteri grubu fiyatlandırmasına göre değil genel ürün fiyatlandırmasının (yani indirim olmadan orijinal fiyat) tüm siparişler için kullanılması gereken durumlar olabilir.
Magento 2, geliştiricilerin platformun çeşitli yönlerine bağlanmasına olanak tanıyan nesne tabanlı bir yaklaşım sunar. Müşteri grubu fiyatlandırmasının nasıl uygulandığını anladığımızda, fiyatlandırma mantığını değiştirmek için müdahale etmek ve özelleştirmek için uygun noktaları belirleyebiliriz.
Müşteri Grubu Fiyatlandırmasını Devre Dışı Bırakmanın Zamanı
Müşteri grup fiyatlandırmasını devre dışı bırakmanın gerekli olabileceği çeşitli senaryolar vardır:
- Teşhir ve Kampanyalar: Gruplarına bakılmaksızın tüm müşterilere uygulanabilen bir promosyon çalıştırdığınızda.
- Sipariş Özelleştirmesi: Belirli siparişlerin grup tabanlı indirim olmadan temel ürün fiyatlandırmasını gerektirdiği durumlar.
- Özel İşlemler: Fiyatlandırmanın birlikte kullanılması gereken belirli işlem türleri için.
Müşteri Grubu Fiyatlandırmasını Programatik Olarak Devre Dışı Bırakma
Müşteri grubu fiyatlandırmasını devre dışı bırakmak, kod tabanı içinde Magento 2'nin fiyatlandırma modeliyle etkileşime geçmeyi gerektirir. Aşağıda bunu başarmak için adım adım bir yöntem açıklıyoruz:
Adım 1: Özel Modülünüzü Kurulum Yapın
Başlamak için özel bir modül oluşturmanız gerekmektedir. Bu, Magento işlevselliğinden bağımsız olarak kod değişikliklerinizi bağımsız olarak yönetmenizi ve yönetmenizi sağlar.
-
Modül Dizin Yapısı Oluşturma: Bu genellikle
app/code/[Vendor]/[ModuleName]altında dosya oluşturmayı içerir. -
Modülü Bildirmek:
module.xmlgibi gerekli modül bildirim dosyalarınıetcdizininde yazın. -
Modülü Kaydetmek: Kaydetme işlemek için bir registration.php dosyası oluşturarak modülünüzü Magento'ya kaydedin.
// Dosya: app/code/Vendor/ModuleName/registration.php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Vendor_ModuleName',
__DIR__
);
Adım 2: Bir Eklenti Oluşturun
Magento'nun eklenti sistemi, Magento sınıflarının davranışlarını yakalamamızı ve değiştirmemizi sağlar. Fiyatlandırma mantığını yakalamak için bir eklenti oluşturacağız.
-
Eklenti Bildirimi: Eklentiyi modülünüz içindeki
di.xmldosyasında bildirin.
<!-- Dosya: app/code/Vendor/ModuleName/etc/di.xml -->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="Magento\Quote\Model\Quote">
<plugin name="disable_customer_group_pricing" type="Vendor\ModuleName\Plugin\QuotePlugin" />
</type>
</config>
- Eklenti Mantığı: Eklenti sınıfında müşteri grup fiyatlandırmasını devre dışı bırakmak için mantığı uygulayın.
// Dosya: app/code/Vendor/ModuleName/Plugin/QuotePlugin.php
namespace Vendor\ModuleName\Plugin;
class QuotePlugin
{
public function aroundCollectTotals($subject, callable $proceed, ...$args)
{
// Orijinal yöntemi çağırın
$result = $proceed(...$args);
// Müşteri grubu fiyatlandırma mantığını burada devre dışı bırakın
foreach ($subject->getAllItems() as $item) {
// Ürünün özgün fiyatı olmayan özel fiyatını ayarlayın
$item->setCustomPrice($item->getProduct()->getPrice());
$item->setOriginalCustomPrice($item->getProduct()->getPrice());
// Orijinal indirim mantığını devre dışı bırak
$item->getProduct()->setIsSuperMode(true);
}
return $result;
}
}
Adım 3: Özel Modülü Test Edin
Özel özelleştirmenizi, bunu üretime dağıtmadan önce bir geliştirme ortamında test edin. Aşağıdakileri yapmaktan emin olun:
-
Önbelleği Temizle:
php bin/magento cache:cleankullanarak Magento önbelleğini temizleyin. -
Kurulumu Yükselt:
php bin/magento setup:upgradekullanarak yeni modülü uygulayın. -
Veriyi Yeniden İndeksle:
php bin/magento indexer:reindexkullanarak veri yeniden indekslenir.
Adım 4: Hata Ayıklama ve Doğrulama
Magento loglarını kontrol edin ve hata olmadığından emin olun. Oluşturulan siparişlerdeki toplamları kontrol ederek düzenli ürün fiyatlandırmasının uygulandığını doğrulayın. Değişikliklerinizin diğer özelleştirmelerle veya varsayılan Magento davranışlarıyla çakışmamasını sağlayın.
Sonuç
Magento 2'de müşteri grubu fiyatlandırmasını devre dışı bırakmak, belirli iş ihtiyaçları için esneklik sağlar. Magento'nun modüler mimarisi ve eklenti sistemi sayesinde, geliştiriciler, temel kodu doğrudan değiştirmeden temel işlevsellikleri değiştirebilen özelleştirilmiş çözümler oluşturabilir.
Promosyonlar, özel işlemler veya siparişler arasında fiyatlandırma birliği sağlama gibi durumlar için fiyatlandırma modelini anlama ve değiştirme, e-ticaret platformunuzu iş stratejilerinizle daha yakından uyumlu hale getirmede değerli bir yetenektir.
Sıkça Sorulan Sorular (SSS)
S1: Müşteri grup fiyatlandırmasını devre dışı bırakmak için Magento çekirdek dosyalarını doğrudan değiştirmek güvenli midir?
Hayır, Magento çekirdek dosyalarını doğrudan değiştirmeniz önerilmez. Bu yayında gösterildiği gibi Magento'nun eklenti sistemi kullanarak bu tür özelleştirmeleri başarmak için kullanın. Bu yaklaşım, değişikliklerinizin korunabilir ve gelecekteki Magento güncellemeleriyle uyumlu olmasını sağlar.
S2: Müşteri grup fiyatlandırmasını yalnızca belirli ürünler için devre dışı bırakabilir miyim?
Eklenti içindeki mantığı, ürün kimlikleri veya öznitelikler gibi belirli ürün koşullarına dayalı olarak seçici olarak değişiklikler uygulamak için değiştirebilirsiniz.
S3: Bu değişiklik diğer promosyonel fiyatlandırma kurallarını etkiler mi?
Sunulan çözüm müşteri grup fiyatlandırmasını devre dışı bırakmaya odaklanır. Diğer promosyon kurallarıyla nasıl etkileşimde bulunduğunu test edin ve çakışmalar varsa mantığı gerektiği gibi ayarlayın.
S4: Bir şeyler yanlış giderse değişiklikleri nasıl geri alırım?
Özel modülü devre dışı bırakın veya kaldırın ve önbelleği temizleyin. Bu Magento'yu varsayılan davranışına geri döndürecektir. Önemli değişiklikler yapmadan önce her zaman yapılandırmanızı yedeklediğinizden emin olun.
Belirtilen adımları takip ederek ve temel prensipleri anlayarak, Magento 2 mağazanızdaki fiyatlandırma stratejilerini etkili bir şekilde yönetebilir ve özelleştirebilirsiniz. İyi kodlamalar!