Acil müdahale gerektiren bir sorununuz mu var?Acil müdahale mi?Acil yardım alın →
Blog

MageBooster ekibinden upgrade, güvenlik, hız ve taşıma üzerine pratik Magento 2 rehberleri.

Hyvä uyumluluk modülü olmayan eklentiler: seçenekleriniz

Her Magento 2 eklentisinin bir Hyvä uyumluluk modülü yoktur. Beş gerçekçi seçeneği, bir uyumluluk modülünün nasıl çalıştığını ve her eklenti için nasıl karar vereceğinizi anlatıyoruz.
Hyvä uyumluluk modülü olmayan eklentiler: seçenekleriniz
Yeni

Hyvä artık Magento 2.4.9’da ve Mage-OS’ta doğrudan (native) çalışıyor. İkisini de test ettik. Mağazanız için ne anlama geliyor →

Kısaca

Bir eklentinin Hyvä uyumluluk modülü yoksa beş gerçekçi seçeneğiniz vardır: uyumluluk modülünü kendiniz yazmak, eklentiyi değiştirmek, yalnızca kullandığınız kısmı yeniden yapmak, o sayfayı Hyvä’nın yedek (fallback) yöntemiyle Luma’da tutmak ya da eklentiyi kaldırmak. Doğru seçim, eklentinin ne kadar ön yüz kodu içerdiğine ve satışlarınız için ne kadar önemli olduğuna bağlıdır.

Eklenti incelemesini yaptınız ve modüllerin çoğu sorunsuz. Sonra bir ya da iki önemli eklentinin hiç Hyvä uyumluluk modülü olmadığı ortaya çıkıyor.

Hyvä demo mağazamızda, her bloğun Hyvä uyumlu kodla çalıştığı bir ürün sayfası.
Hyvä demo mağazamızda, her bloğun Hyvä uyumlu kodla çalıştığı bir ürün sayfası.

Bu normaldir ve nadiren bir Hyvä projesini durdurmak için yeterli bir sebeptir. Bu yazıda bunun neden olduğunu ve neler yapabileceğinizi anlatıyoruz.

Bazı eklentiler Hyvä'da neden çalışmaz?

Bir Magento 2 eklentisi genellikle iki kısımdan oluşur. Arka uç kısmı PHP mantığını, veritabanı tablolarını, yönetim paneli ayarlarını ve observer'ları içerir.

Ön yüz kısmı ise şablonları, layout XML'i, JavaScript'i ve stilleri içerir. Luma'da bu JavaScript genellikle RequireJS modülleri, jQuery widget'ları ya da Knockout bileşenleri olarak yazılır.

Hyvä bu yapının tamamını kaldırır. Böylece arka uç kısmı çalışmaya devam eder, ancak ön yüz kısmının üzerinde çalışacağı bir şey kalmaz. İki yapı hakkında daha fazlasını şu yazıda okuyabilirsiniz: Alpine.js ve Tailwind, RequireJS ve Knockout'un yerini nasıl alıyor?.

Uyumluluk modülü tam olarak bu boşluğu kapatır. Eklentinin ön yüzünü Alpine.js ve Tailwind CSS ile yeniden yazar; orijinal arka uç ise yerinde kalır.

Uyumluluk modülü nasıl çalışır?

Uyumluluk modülü küçük ve ayrı bir Magento modülüdür. Orijinal eklentinin koduna dokunmaz; bu sayede orijinal eklenti Composer üzerinden güncellenmeye devam edebilir.

Hyvä bunun için bir yedek (fallback) mekanizması sunar. Uyumluluk modülü kendini orijinal modülün Hyvä sürümü olarak kaydeder; Hyvä da şablonları önce uyumluluk modülünde arar.

<type name="Hyva\CompatModuleFallback\Model\CompatModuleRegistry">
    <arguments>
        <argument name="compatModules" xsi:type="array">
            <item name="vendor_module_map" xsi:type="array">
                <item name="original_module" xsi:type="string">Vendor_Module</item>
                <item name="compat_module" xsi:type="string">Hyva_VendorModule</item>
            </item>
        </argument>
    </arguments>
</type>

Bu kod parçası, uyumluluk modülünün şu dosyasına eklenir: etc/frontend/di.xml. Ardından modülün içinde, gereken şablonların Hyvä sürümlerini Knockout ya da jQuery yerine Alpine.js ile yazarsınız.

Layout XML ile orijinal JavaScript de kaldırılabilir; böylece Hyvä sayfasında hiç yüklenmez.

1. seçenek: uyumluluk modülünü yazmak

Eklenti önemliyse ve ön yüzü orta büyüklükteyse en temiz seçenek budur.

  • Eklentiyi, arka uç mantığını ve güncelleme yolunu korursunuz.
  • Yalnızca mağaza ön yüzü kısmı, Hyvä temasının geri kalanıyla aynı tarzda yeniden yazılır.
  • Sonuç hafiftir, çünkü eski script’leri yüklemek yerine Hyvä’nın yaklaşımını izler.

Gereken efor, orijinal ön yüzün ne kadar JavaScript içerdiğine bağlıdır. Basit bir widget küçük bir iştir. Karmaşık bir ürün yapılandırıcı ya da ödeme adımı ise daha büyük bir iştir.

Kendiniz yazmadan önce, eklenti üreticisine bir Hyvä sürümü planlayıp planlamadığını sorun. Artık birçok üretici kendi sürümünü sunuyor.

2. seçenek: eklentiyi değiştirmek

Bazen en iyi uyumluluk modülü başka bir eklentidir. Aynı işi yapan ve zaten Hyvä uyumlu olan başka bir modül varsa, ona geçmek uyarlamaktan daha ucuz ve daha güvenli olabilir.

Bu yöntem slider, açılır pencere, sosyal medya ile giriş, ürün etiketleri ya da basit arama eklentileri gibi yaygın özelliklerde iyi sonuç verir.

Geçmeden önce veri taşımayı kontrol edin. Ayarları, içerikleri ya da müşteri verilerini bir modülden diğerine taşımak, işin gözden kaçan kısmı olabilir.

3. seçenek: yalnızca kullandığınız kısmı yeniden yazmak

Büyük eklentiler çoğu zaman bir mağazanın gerçekte kullandığından çok daha fazlasını yapar. Bir mağaza, özellik dolu bir modülün yalnızca tek bir widget'ını kullanıyor olabilir.

Bu durumda yalnızca o özelliği doğrudan Hyvä temasında ya da küçük bir özel modül olarak geliştirmek mantıklı olabilir. Magento 2 eklenti geliştirme çalışmalarımız çoğu zaman tam da bu soruyla başlar: Gerçekten hangi kısma ihtiyacınız var?

Sonuç genellikle tam bir uyarlamadan daha hafif ve bakımı daha kolay olur.

4. seçenek: bir sayfayı şimdilik Luma'da tutmak

Bunun klasik örneği ödeme sayfasıdır. Bir ödeme sağlayıcısının henüz Hyvä uyumlu entegrasyonu olmayabilir ve bir ödeme yöntemini kaybetmek kabul edilemez.

Hyvä bunun için bir yedek yaklaşım sunar. Seçilen sayfalar (çoğunlukla ödeme sayfası) Luma temasıyla oluşturulmaya devam ederken mağazanın geri kalanı Hyvä'da çalışır.

  • Alışverişçiler ana sayfa, kategori ve ürün sayfalarında Hyvä hızından yararlanır.
  • Ödeme sayfası, tüm ödeme yöntemleriyle birlikte eskisi gibi çalışmaya devam eder.
  • Entegrasyon hazır olduğunda ödeme sayfasını daha sonra Hyvä'ya taşıyabilirsiniz.

Bu kalıcı bir çözüm değil, pratik bir köprüdür. Luma ödeme sayfası eski yapıyı yüklemeye devam eder; bu yüzden onu ne zaman ve nasıl taşıyacağınızı planlayın.

Özellikle ödeme sayfası için Hyvä Checkout'u ve diğer seçenekleri şu yazıda karşılaştırabilirsiniz: Hyvä Checkout'a geçmeye değer mi?.

5. seçenek: kaldırmak

İnceleme sırasında çoğu zaman artık kimsenin kullanmadığı eklentiler bulunur. Bazıları geçmişteki bir kampanya için kurulmuştur, bazıları ise Magento'nun artık kendi içinde sunduğu özellikleri tekrarlar.

Bunları kaldırmak, en kolay uyarlama yöntemidir. Ayrıca mağazayı daha hafif, daha güvenli ve upgrade'i daha kolay hale getirir.

Bir modülü kaldırmadan önce hala ihtiyaç duyduğunuz veri ya da ayar içermediğinden emin olun ve modülü yalnızca devre dışı bırakmak yerine Composer üzerinden düzgünce kaldırın.

Nasıl karar verilir?

Uyumluluk modülü olmayan her eklenti için dört soru sorun.

  1. Ödeme sayfası, sepet ya da ürün sayfaları gibi satışları doğrudan etkiliyor mu?
  2. Gerçekte ne kadar ön yüz JavaScript kodu içeriyor?
  3. Aynı işi yapan Hyvä uyumlu bir alternatif var mı?
  4. Tamamını mı kullanıyorsunuz, yoksa yalnızca küçük bir kısmını mı?
DurumGenellikle seçilen
Önemli, ön yüzü orta büyüklükte, iyi bir alternatifi yokUyumluluk modülünü yazın
Hyvä uyumlu alternatifleri olan yaygın bir özellikEklentiyi değiştirin
Büyük modül, küçük bir kısmı kullanılıyorYalnızca kullandığınız kısmı yeniden yazın
Hyvä entegrasyonu olmayan ödeme yöntemiEntegrasyonu geliştirin ya da ödeme sayfasını şimdilik Luma'da tutun
Artık kullanılmıyorKaldırın

Gerçek projelerin çoğunda bu beş seçeneğin bir karışımı kullanılır. Hyvä geçiş kontrol listesi ile amaç, bu kararı geliştirme başlamadan önce her modül için bir kez vermektir.

SSS

Uyumluluk modülü orijinal eklentiyi değiştirir mi?

Hayır. Uyumluluk modülü, yalnızca ön yüz şablonlarının ve kodlarının yerini alan ayrı bir modüldür. Orijinal eklenti her zamanki gibi güncellenmeye devam edebilir.

Eski bir eklentiyi çalıştırmak için Hyvä'da RequireJS'i yükleyebilir miyim?

Teoride mümkün; ancak Hyvä'nın kaldırdığı ağırlığı geri getirir ve çoğu zaman fark edilmesi zor şekillerde sorun çıkarır. Düzgün bir uyarlama ya da Luma yedeği daha güvenlidir.

Üretici daha sonra kendi Hyvä sürümünü yayınlarsa ne olur?

Bu durumda üreticinin sürümüne geçip kendi uyumluluk modülünüzü devreden çıkarabilirsiniz. Uyarlamayı ayrı tutmak bu geçişi kolaylaştırır.

Mevcut modülleri Hyvä uyumlu hale getiriyor, gerektiğinde yenilerini geliştiriyoruz. Geçişinizi planlamak için Hyvä tema geliştirme hizmetlerimize göz atın.

Bu sayfa otomatik çeviri sistemiyle çevrildi. Bir hata mı gördünüz? Bize bildirin, hemen düzeltelim.

Ücretsiz Site Analizi

Mağaza bilgilerinizi gönderin. Hız, güvenlik ve eklentileri inceleyip 3 iş günü içinde hemen uygulayabileceğiniz üç iyileştirme önerisiyle size dönelim.

Konuşalım

Teklif alın

Mağazanızdan bahsedin, bir iş günü içinde size dönelim. Sohbet etmeyi mi tercih edersiniz? WhatsApp'tan yazın

MageBooster UnoPim demosu talep edin UnoPim’i sizinkine benzer ürünlerle canlı görün. Yeni bir PIM ya da Akeneo’dan geçiş: plan, zaman çizelgesi ve teklifle dönüyoruz.
✓ Resmi UnoPim partneri✓ Ekibiniz için yapay zeka asistanı✓ Magento’ya bağlı
MageBooster Hyvä projenizi başlatın Sıfırdan ya da mevcut mağazanızdan. Proje planı, zaman çizelgesi ve teklifle dönüyoruz.
✓ Tasarım ve kurgu bizden✓ Hyvä’ya optimize sunucu✓ Bonus modüller dahil
Partnerimiz olun