Ideal House
सामग्री पर जाएं

PrestaShop एकीकरण#

वर्तमान प्रोडक्ट या कम्बिनेशन संदर्भ से बटन रेंडर करने के लिए Room Visualizer लोड करने के लिए एक छोटा PrestaShop मॉड्यूल उपयोग करें।

सत्यापन स्थिति: PrestaShop 8/9 मॉड्यूल, हुक, और एसेट दस्तावेज़ीकरण 7 सितंबर 2026 को समीक्षित किया गया था। कोई मर्चेंट स्टोर उपलब्ध नहीं था। उदाहरण में क्लासिक और हम्मिंगबर्ड दोनों के लिए सामान्य दस्तावेज़ीकृत हुक का उपयोग किया गया है, लेकिन थर्ड-पार्टी थीम उन्हें हटा या छोड़ सकती हैं।

SDK लोड करने से पहले: डैशबोर्ड → सेटिंग्स खोलें, अपने स्टोरफ्रंट मूल को Allowed Origins (CORS) में जोड़ें, और सहेजें पर क्लिक करें। प्रकाशित होस्टनेम और कोई भी प्रीव्यू या स्टेजिंग मूल शामिल करें जिन्हें आप उपयोग करते हैं; कई मूलों को अल्पविराम से अलग करें। कॉन्फ़िगरेशन के चरण देखें।

पूर्व शर्तें और मैपिंग#

एक स्टेजिंग दुकान, मॉड्यूल-विकास पहुंच, Shop ID, Publishable Key, और आयातित SKU तैयार करें। निर्धारित करें कि ideal.house कोड बेस प्रोडक्ट reference या चयनित कम्बिनेशन reference से आता है। प्रत्येक विज़ुअलाइज़ेबल कम्बिनेशन का एक अद्वितीय, गैर-खाली संदर्भ होना चाहिए।

न्यूनतम SDK अनुबंध#

html
<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>

प्रोडक्ट कोड को आयातित ideal.house sku से ठीक से मेल खाना चाहिए। PrestaShop आईडी संदर्भों के साथ अदला-बदली योग्य नहीं हैं।

एक मॉड्यूल इनसर्शन पॉइंट बनाएं#

प्रोडक्ट पेज पर कंटेंट रखने के लिए displayProductAdditionalInfo और अपने स्थानीय एडैप्टर को लोड करने के लिए actionFrontControllerSetMedia का पंजीकरण करें। क्लासिक और हम्मिंगबर्ड दोनों प्रोडक्ट और क्विक-व्यू टेम्पलेट में डिस्प्ले हुक का दस्तावेज़ीकरण करते हैं।

php
public function install()
{
    return parent::install()
        && $this->registerHook('displayProductAdditionalInfo')
        && $this->registerHook('actionFrontControllerSetMedia');
}

public function hookActionFrontControllerSetMedia($params)
{
    $this->context->controller->registerJavascript(
        'module-' . $this->name . '-adapter',
        'modules/' . $this->name . '/views/js/adapter.js',
        array('position' => 'bottom', 'priority' => 200)
    );
}

डिस्प्ले-हुक कॉलबैक में, प्रस्तुत प्रोडक्ट प्राप्त करें, उसका संदर्भ चुनें, इसे Smarty को असाइन करें, और एक मॉड्यूल टेम्पलेट रेंडर करें। उस टेम्पलेट में मान को एस्केप करें:

smarty
<div class="idealhouse-host">
  {if $idealhouse_product_code}
    <div
      data-idealhouse-button-container
      data-product-code="{$idealhouse_product_code|escape:'html':'UTF-8'}">
    </div>
  {/if}
</div>

संक्षिप्त PHP को एक पूर्ण प्रोडक्शन मॉड्यूल के रूप में कॉपी न करें: सामान्य मॉड्यूल मेटाडेटा, वर्शन संगतता, कॉन्फ़िगरेशन स्टोरेज, अनुमति जांच, और अनइंस्टॉल सफ़ाई जोड़ें।

SDK एक बार लोड करें#

adapter.js में, अपने मॉड्यूल के सैनिटाइज़्ड स्टोरफ्रंट कॉन्फ़िगरेशन से दो सार्वजनिक मानों को पढ़ने के बाद सटीक SDK तत्व बनाएं:

js
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 = window.idealhousePublicConfig.shopId;
  script.dataset.publishableKey = window.idealhousePublicConfig.publishableKey;
  document.head.append(script);
}

PrestaShop के समर्थित JavaScript-परिभाषा/कॉन्फ़िगरेशन तंत्र के साथ idealhousePublicConfig को प्रकट करें। कभी भी Client Secret को प्रकट न करें।

कम्बिनेशन परिवर्तन और डायनामिक पेज#

थीम का प्रोडक्ट-रिफ्रेश लाइफसाइकल और थर्ड-पार्टी कम्बिनेशन मॉड्यूल भिन्न होते हैं। उस बिंदु पर जहाँ सक्रिय थीम ने चयनित कम्बिनेशन का समाधान कर लिया है, उसके संदर्भ को इस ग्राहक ब्रिज को पास करें:

js
function renderIdealhouseCombination(host, reference) {
  host.replaceChildren();
  const code = String(reference || '').trim();
  if (!code) return;
  const container = document.createElement('div');
  container.dataset.idealhouseButtonContainer = '';
  container.dataset.productCode = code;
  host.append(container);
}

प्रदर्शित लेबलों से अनुमान न लगाएं। क्विक व्यू दस्तावेज़ीकृत हुक स्थानों में शामिल है, लेकिन पुष्टि करें कि सक्रिय थीम वास्तव में हुक को रेंडर करती है। AJAX फ़िल्टर या रिफ्रेश्ड प्रोडक्ट फ्रैगमेंट्स के लिए, हुक को नया होस्ट बनाने या थीम के दस्तावेज़ीकृत अपडेट कॉलबैक के बाद ब्रिज को कॉल करने दें।

प्रोडक्ट डेटा आयात करें#

PrestaShop प्रोडक्ट/कम्बिनेशन reference को ideal.house sku के साथ मैप करें। उत्पाद अपलोड और आयात, कार्य की स्थिति, सूची देखना, अपडेट, हटाना, और त्रुटियाँ और पुनः प्रयास के लिए गाइड का उपयोग करें। कोई भी PrestaShop वेबसर्विस निर्यात, क्रां, या हुक-आधारित सिंक ग्राहक कार्यान्वयन है।

सत्यापित करें और हटाएं#

एक सरल प्रोडक्ट, प्रत्येक कम्बिनेशन, गायब/डुप्लिकेट संदर्भ, एक अज्ञात ideal.house SKU, क्विक व्यू, सूचीकरण, फैसेटेड नेविगेशन, ब्राउज़र इतिहास, मोबाइल, भाषा/मुद्रा बिक्री संदर्भ, सहमति, और प्रोडक्शन कैशिंग का परीक्षण करें। एक SDK अनुरोध और सटीक संदर्भ/SKU समानता की पुष्टि करें।

मॉड्यूल को अनइंस्टॉल या निष्क्रिय करें, सुनिश्चित करें कि इसके हुक/कॉन्फ़िगरेशन/एसेट्स हटा दिए गए हैं, Smarty और स्टोरफ्रंट कैश साफ़ करें, और पुष्टि करें कि SDK URL और data-idealhouse-* मार्कअप अनुपस्थित हैं।

आधिकारिक प्लेटफ़ॉर्म संदर्भ#