Shopware 6 entegrasyonu#
Room Visualizer'ü bir Shopware 6 eklentisi veya özel tema aracılığıyla ekleyin ve seçilen satış kanalının ürün numarasını ideal.house Ürün Kodu olarak kullanın.
Doğrulama durumu: Shopware mağaza vitrini belgeleri 7 Eylül 2026 tarihinde incelendi. Müşteri mağazası mevcut değildi. Bu yol, standart Shopware 6 Twig mağaza vitrinine yöneliktir; headless/composable mağaza vitrinleri, çerçeveye özgü adaptör gerektirir.
SDK'yi yüklemeden önce: Panel → Ayarlar sayfasını açın, mağaza vitrininizdeki kökeni (origin) Allowed Origins (CORS) listesine ekleyin ve Kaydet düğmesine tıklayın. Yayımlanan ana bilgisayar adını ve kullandığınız önizleme veya ön üretim (staging) kökenlerini dahil edin; birden fazla kökeni virgülle ayırın. yapılandırma adımları bölümüne bakın.
Ön koşullar#
Bir geliştirme mağazası, eklenti/tema kaynak erişimi, bir ön üretim satış kanalı, Shop ID, Publishable Key ve içe aktarılmış ürün numaraları hazırlayın. Storefront çekirdeğini veya bir tedarikçi temasını değiştirmek yerine bir eklenti veya alt tema üzerinde çalışın.
Minimal SDK sözleşmesi#
<script
src="https://sdk.ideal.house/sdk.js"
data-shop-id="<SHOP_ID>"
data-publishable-key="<PUBLISHABLE_KEY>"
async
></script>
<div data-idealhouse-button-container data-product-code="CHAIR-OAK-01"></div>
Shopware productNumber'ü ideal.house sku'e tam olarak eşleyin. SDK, Shopware'ün Mağaza API'ını sorgulamaz.
Ürün şablonunu genişletin#
Eklentinizde, kurulu Shopware sürümünüzde satın alma widget'ının yakınında kullanılan Twig şablonunu/blokunu genişletin. Mevcut satış kanalının ürününü kullanarak bir konak (host) oluşturun:
{% sw_extends '@Storefront/storefront/component/buy-widget/buy-widget-form.html.twig' %}
{% block buy_widget_buy_container %}
{{ parent() }}
{% if page.product.productNumber %}
<div class="idealhouse-host">
<div
data-idealhouse-button-container
data-product-code="{{ page.product.productNumber|escape }}">
</div>
</div>
{% endif %}
{% endblock %}
Blok adları ve bağlam, Shopware sürümleri ve temalar arasında değişebilir. Aktif sürümün şablonunu inceleyin, en dar genişletme bloğunu seçin ve page.product'ın orada mevcut olduğunu doğrulayın. Bir ürün kartı için bunun yerine kartın ürün bağlamını kullanın.
SDK'ü yükleyin#
Shopware eklentileri, mağaza vitrini JavaScript ekleyebilir ve şablonları geçersiz kılabilir. SDK betiğini bir kez oluşturan yerel bir mağaza vitrini girişi ekleyin:
if (!document.querySelector('script[src="https://sdk.ideal.house/sdk.js"]')) {
const script = document.createElement('script');
script.src = 'https://sdk.ideal.house/sdk.js';
script.async = true;
script.dataset.shopId = '<SHOP_ID>';
script.dataset.publishableKey = '<PUBLISHABLE_KEY>';
document.head.append(script);
}
Mağaza vitrini varlıklarını derleyin ve Shopware sürümünüz için olan süreçle eklenti/temayı etkinleştirin. Yeniden kullanılabilir bir eklentide kimlik bilgileri için yapılandırma değerlerini kullanın; yalnızca tarayıcıda güvenli olan Publishable Key'i görüntüleyin.
Varyantlar ve dinamik içerik#
Shopware, satın alınabilir varyantları genellikle kendi productNumber'lerine ve kanonik URL'lerine sahip ayrı ürünler olarak temsil eder. Tam bir gezinmede, sunucu tarafında işlenen Twig doğal olarak yeni kodu yazar. Temanız sayfa yüklemesi olmadan varyantları değiştiriyorsa, belgelenmiş tamamlama geri çağırmasını (completion callback) şuna bağlayın:
function replaceIdealhouseProduct(host, productNumber) {
host.replaceChildren();
const code = String(productNumber || '').trim();
if (!code) return;
const container = document.createElement('div');
container.dataset.idealhouseButtonContainer = '';
container.dataset.productCode = code;
host.append(container);
}
Bu köprü, temalar ve üçüncü taraf varyant eklentileri farklılaştığı için müşteriye aittir. Filtreler/dışa açılır (off-canvas) bileşenler aracılığıyla yüklenen listeler, yeni DOM geldiğinde temiz konteynerleri görüntülemeli veya yeniden oluşturmalıdır. SDK tarafından oluşturulan çocuk öğeleri klonlamayın.
Ürün içe aktarma#
Her Shopware ürün/varyant productNumber'ini ideal.house sku olarak dışa aktarın. Ürün yükleme yoluyla içe aktarın, ardından ürünleri içe aktar, iş durumu, ürünleri listele, ürünleri güncelle, ürünü sil ve hatalar ve yeniden denemeler kullanın.
Herhangi bir Mağaza API/Yönetici API senkronizasyonu, zamanlanmış görev veya Flow Builder/webhook entegrasyonu, ayrı müşteri kodudur.
Doğrula ve kaldır#
Bir üst öğeyi, her görselleştirilebilir varyantı, eksik ve bilinmeyen ürün numaralarını, listeleri, filtreleri, dışa açılır/hızlı görüntülemeyi, tarayıcı Geri/İleri işlevlerini, mobil düzeni, önbellek/vekil (proxy) davranışını ve ilgili tüm satış kanallarını/alan adlarını test edin. Tek bir SDK isteği ve tam productNumber/SKU eşleşmesini doğrulayın.
Kaldırmak için, eklentiyi devre dışı bırakın/kaldırın veya alt tema Twig'ini ve JavaScript'i kaldırın, mağaza vitrini varlıklarını yeniden derleyin, önbellekleri temizleyin ve SDK isteği veya konteynerinin kalmadığını doğrulayın.