Magento 2'de Ürün Görünürlüğünü Nasıl Yönetilir? GraphQL Kullanımı

İçindekiler

  1. Giriş
  2. Magento 2'de Ürün Görünürlüğünü Anlama
  3. Sorun: Ürün, Görünürlük Ayarlarına Rağmen Arama Sonuçlarında Görünüyor
  4. Magento 2'de GraphQL Kullanımı
  5. Görünürlük Sorunlarını Giderme
  6. Gerçek Hayat Örneği: Görünürlük Kontrollerinin Uygulanması
  7. Sonuç
  8. SSS

Giriş

Online mağazanızı özenle düzenliyor, ürün kategorilerinizi düzenliyorsunuz ve belirli görünürlük kuralları belirliyorsunuz. Ancak, bir arama sorgusu çalıştırdığınızda "yalnızca katalog" kategorisine ait ürünler beklenmedik şekilde görünebilir. Magento 2'de bu sorunla karşılaşmışsanız, yalnız değilsiniz. Ürün görünürlüğünü anlamak ve yönetmek, kataloğunuzun istendiği gibi görüntülendiğinden emin olmak için son derece önemlidir.

Bu blog yazısında, Magento 2'de GraphQL kullanarak ürün görünürlüğünü yönetmenin inceliklerini ele alıyoruz. Belirli görünürlük ayarlarına sahip ürünlerin hala arama sonuçlarında görünebileceği nedenleri, Magento'nun ürün görünürlüğünü nasıl ele aldığını ve bu sorunları çözerek sorunsuz bir alışveriş deneyimi sağlamanın nasıl mümkün olduğunu keşfedeceğiz.

Magento 2'de Ürün Görünürlüğünü Anlama

Magento 2'de ürün görünürlüğü, bir ürünün mağazanızda nerede görüneceğini belirler. Kullanılabilir görünürlük seçenekleri şunlardır:

  1. Bireysel Olarak Görünmez: Ürün, katalog ve arama sonuçları tarafından gizlenir. Gruplanmış bir ürün gibi başka bir ürünün parçası olarak dahil edilmediği sürece görünmez.
  2. Katalog: Ürün, kategorilerde görülebilir ancak arama sonuçlarında görünmez.
  3. Arama: Ürün, arama sonuçlarında görünebilir ancak kategorilerde görünmez.
  4. Katalog, Arama: Ürün, hem kategorilerde hem de arama sonuçlarında görünür.

Bu ayarlar, mağaza sahiplerinin kullanıcı deneyimini kontrol etmesine ve özelleştirmesine büyük ölçüde yardımcı olur. Bununla birlikte, özellikle Adobe Experience Manager (AEM) ve Magento gibi ön uç ve arka uç sistemlerinin entegrasyonunda tutarsızlıklar ortaya çıkabilir.

Sorun: Ürün, Görünürlük Ayarlarına Rağmen Arama Sonuçlarında Görünüyor

Bir ürünün "katalog" olarak ayarlandığı görünürlüğe sahip olmasına rağmen, GraphQL aracılığıyla sorgulandığında hala arama sonuçlarında göründüğü yaygın bir sorun meydana gelir. Bu tutarsızlık, mağaza sahipleri ve geliştiriciler için kafa karıştırıcı ve sinir bozucu olabilir. Bu sorunu teşhis etmek ve düzeltmek için, GraphQL sorgularının Magento'nun görünürlük ayarlarıyla nasıl etkileşime girdiğini anlamamız gerekmektedir.

Magento 2'de GraphQL Kullanımı

GraphQL, özellikle e-ticaret senaryolarında kullanışlı olan hassas veri alımına izin veren güçlü bir sorgu diliidir. Magento 2'de ürün verilerini sorgulamak için GraphQL'i genellikle aşağıdaki gibi kullanırsınız:

{
  products(filter: { name: { match: "ürün_adı" } }) {
    items {
      name
      sku
      visibility
    }
  }
}

Bu sorgu, belirli bir adla eşleşen ürünleri, SKU'larını ve görünürlük ayarlarını alır. Eğer "katalog" olarak ayarlanmış bir ürün hala bu sonuçlarda görünüyorsa, görünürlük filtresinin doğru şekilde uygulanmadığı açıktır.

Görünürlük Sorunlarını Giderme

Yapılandırma Ayarlarını Kontrol Edin

Öncelikle, Magento yönetici panelindeki ürün yapılandırma ayarlarını çift kontrol edin. İlgili ürünün yalnızca "katalog" görünürlüğünde ayarlandığından emin olun:

  1. Magento arka uçta Katalog > Ürünler bölümüne gidin.
  2. Ürünü bulun ve ayarlarını düzenleyin.
  3. Aşağı kaydırarak Görünürlük niteliğini bulun ve bunun "Katalog" olarak ayarlandığından emin olun.

GraphQL Sorgu Söz Dizimini Doğrulayın

GraphQL sorgularınızın gerekli görünürlük filtrelerini içerdiğinden emin olun. Aşağıda sorgunuzu görünürlük ayarlarını dikkate alacak şekilde nasıl değiştireceğinizin bir örneği bulunmaktadır:

{
  products(filter: { visibility: { eq: CATALOG } }) {
    items {
      name
      sku
    }
  }
}

GraphQL Şema ve Çözümleyiciyi Özelleştirin

Bazı durumlarda, varsayılan GraphQL şeması ve çözümleyiciler, görünürlük filtrelemesini yeterince iyi işlemez. Bu şemayı özelleştirerek görünürlük kurallarını etkili bir şekilde uygulayabilirsiniz. Var olan ürün şemasını genişletebilmeniz ve çözümleyicileri görünürlük kontrollerini içerecek şekilde güncellemek için işler listeleyebilirsiniz.

AEM ve Magento'yu Senkronize Edin

Ön uç olarak AEM'i entegre ederken, AEM ve Magento görünürlük ayarları arasında senkronizasyon sağlayın. Bu sistemler arasındaki herhangi bir uyumsuzluk beklenmeyen bir davranışa neden olabilir. Düzenli senkronizasyon rutinleri veya API entegrasyon denetimleri gibi işlemlerle bu tür sorunları en aza indirgeyebilirsiniz.

Önbellek ve İndeks Yönetimi

Magento'nun önbellek ve indeksleme mekanizmaları bazen eski görünürlük bilgilerini koruyabilir. Uyumsuzlukların önlenmesi için düzenli olarak önbelleği temizleyin ve verileri yeniden indeksleyin:

php bin/magento cache:clean
php bin/magento cache:flush
php bin/magento indexer:reindex

Gerçek Hayat Örneği: Görünürlük Kontrollerinin Uygulanması

Sadece katalog listelerinde görüntülenmek ve arama sonuçlarında görünmemesi gereken bazı kitapların olduğu bir çevrimiçi kitapçı düşünün. Kitapçıda, bir kitap "Katalog" olarak ayarlandığında bile, kitap hala arama sorgularında dönüyor olabilir.

Bunu çözmek için, GraphQL çözücü mantığında görünürlük kontrolü uygulayabiliriz:

  1. Ürün şemayı görünürlük filtrelemesini içerecek şekilde genişletin.
  2. Çözücüyü görünürlük koşullarını uygulayacak şekilde güncelleyin.

Aşağıda, bunu açıklayan kurgusal bir kod parçası örneği bulunmaktadır:

/**
 * GraphQL çözücüde görünürlük kontrollerini uygulama.
 */
class ProductVisibilityFilter
{
    public function aroundResolve($subject, callable $proceed, $args)
    {
        $result = $proceed($args);

        return array_filter($result['items'], function($product) {
            return $product['visibility'] !== 'SEARCH';
        });
    }
}

Sonuç

Magento 2'de GraphQL kullanarak ürün görünürlüğünü yönetmek, her iki sistem hakkında derin bir anlayış gerektirir. Yeterli yapılandırma sağlayarak, sorguları doğrulayarak, çözümleyicileri özelleştirerek, sistemleri senkronize ederek ve önbelleği temizleyerek ve verileri yeniden indeksleyerek güncel görünürlük ayarlarını uygulayabilir, istenen görünürlük ayarlarını koruyabilir ve sorunsuz bir kullanıcı deneyimi sağlayabilirsiniz.

SSS

"Katalog" görünürlüğüne sahip bir ürün neden arama sonuçlarında görünüyor?

Bu, yanlış sorgu filtrelerinden, GraphQL şeması/çözümleyici özelleştirme sorunlarından veya ön uç ve arka uç sistemler arasındaki senkronizasyon sorunlarından kaynaklanabilir.

GraphQL sorgularında görünürlük ayarlarını nasıl uygulayabilirim?

Görünürlük filtrelerini içerecek şekilde GraphQL sorgularınızı değiştirin, yalnızca istenen görünürlük ayarlarına sahip ürünlerin alındığından emin olun.

Ürün görünürlüğüne yapılan değişiklikler yansıtılmazsa ne yapmalıyım?

Magento ön belleğini temizleyin ve verileri yeniden indeksleyin, böylece en son görünürlük ayarlarının mağazanızda uygulandığından emin olun.

Bu yönergeleri izleyerek ve sağlanan ayrıntılı bilgileri kullanarak, Magento 2'de ürün görünürlüğünü etkili bir şekilde yönetebilir, katalog ve arama görüntülerinizi işletme hedeflerinizle uyumlu şekilde tutabilirsiniz.