Создание надстройки с помощью кнопки покупки Shopify

Я использую кнопку «Купить» Shopify на своей странице, и я очень доволен ею, но мне нужно добавить возможность создавать «добавление товара», то есть, когда покупатель нажимает на сведения о продукте на элементе, который предлагает возможность чтобы добавить к нему элемент.

Очень похоже на этот плагин: https://spice-addons-demo.myshopify.com/collections/frontpage/products/the-sg-gems-necklace (я уже пытался его реализовать, не повезло)

Как это сделать с помощью кнопки «Купить»? (Документация здесь: http://shopify.github.io/buy-button-js/ , я пытался изменить ее, но мне не очень повезло)

Вот мой код:

      /*<![CDATA[*/
(function () {
  var scriptURL = 'js/buy-button-storefront.min.js';
  if (window.ShopifyBuy) {
    if (window.ShopifyBuy.UI) {
      ShopifyBuyInit();
    } else {
      loadScript();
    }
  } else {
    loadScript();
  }
  function loadScript() {
    var script = document.createElement('script');
    script.async = true;
    script.src = scriptURL;
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(script);
    script.onload = ShopifyBuyInit;
  }
  function ShopifyBuyInit() {
    var client = ShopifyBuy.buildClient({
      domain: 'xxx',
      storefrontAccessToken: 'xxx',
    });
    ShopifyBuy.UI.onReady(client).then(function (ui) {
      ui.createComponent('collection', {
        id: '230096961724',
        node: document.getElementById('xxx'),
        moneyFormat: '%24%7B%7Bamount%7D%7D',
        options: {
  "product": {   
    "styles": {
      "product": {
        "@media (min-width: 601px)": {
          "max-width": "calc(33.33333% - 30px)",
          "margin-left": "30px",
          "margin-bottom": "50px",
          "width": "calc(33.33333% - 30px)"
        },
        "img": {
          "height": "calc(100% - 15px)",
          "position": "absolute",
          "left": "0",
          "right": "0",
          "top": "0"
        },
        "imgWrapper": {
          "padding-top": "calc(75% + 15px)",
          "position": "relative",
          "height": "0"
        }
      },
      "button": {
        "font-weight": "bold",
        "font-size": "18px",
        "padding-top": "17px",
        "padding-bottom": "17px",
        ":hover": {
          "background-color": "#8b1a23"
        },
        "background-color": "#ca0027",
        ":focus": {
          "background-color": "#8b1a23"
        },
        "border-radius": "7px",
        "padding-left": "100px",
        "padding-right": "100px"
      },
      "quantityInput": {
        "font-size": "18px",
        "padding-top": "17px",
        "padding-bottom": "17px"
      }
    },
    "buttonDestination": "modal",
    "contents": {
      "options": false
    },
    "text": {
      "button": "View product"
    }
  },
  "productSet": {
    "styles": {
      "products": {
        "@media (min-width: 601px)": {
          "margin-left": "-30px"
        }
      }
    }
  },
  "modalProduct": {
    "contents": {
      "img": false,
      "imgWithCarousel": true,
      "button": false,
      "buttonWithQuantity": true
    },
    "styles": {
      "product": {
        "@media (min-width: 601px)": {
          "max-width": "100%",
          "margin-left": "0px",
          "margin-bottom": "0px"
        }
      },
      "button": {
        "font-weight": "bold",
        "font-size": "18px",
        "padding-top": "17px",
        "padding-bottom": "17px",
        ":hover": {
          "background-color": "#8b1a23"
        },
        "background-color": "#ca0027",
        ":focus": {
          "background-color": "#8b1a23"
        },
        "border-radius": "7px",
        "padding-left": "100px",
        "padding-right": "100px"
      },
      "quantityInput": {
        "font-size": "18px",
        "padding-top": "17px",
        "padding-bottom": "17px"
      }
    },
    "text": {
      "button": "Add to cart"
    }
  },
  "cart": {
    "styles": {
      "button": {
        "font-weight": "bold",
        "font-size": "18px",
        "padding-top": "17px",
        "padding-bottom": "17px",
        ":hover": {
          "background-color": "#8b1a23"
        },
        "background-color": "#ca0027",
        ":focus": {
          "background-color": "#8b1a23"
        },
        "border-radius": "7px"
      }
    },
    "text": {
      "total": "Subtotal",
      "button": "Checkout"
    },
    "popup": false
  },
  "toggle": {
    "styles": {
      "toggle": {
        "font-weight": "bold",
        "background-color": "#ca0027",
        ":hover": {
          "background-color": "#8b1a23"
        },
        ":focus": {
          "background-color": "#8b1a23"
        }
      },
      "count": {
        "font-size": "18px"
      }
    }
  }
},
      });
    });
  }
})();
/*]]>*/

1 ответ

Кнопка покупки не настраивается. Он представляет собой единственный вариант, который может купить ваш клиент. Таким образом, вы не можете добавлять в него другие продукты. Вы можете объединить эти дополнения в новый целостный продукт, а затем продавать его с помощью кнопки, но тогда ваша библиотека кнопок станет больше, и, возможно, эта идея также разрушит ваше управление запасами, так что готово.

Единственный реальный выход - использовать StorefrontAPI и несколько пользовательских JS для создания собственной кнопки, которая управляет более чем одним продуктом. При этом вы можете создать кнопку, которая отправляет покупателя на кассу с одним продуктом и, возможно, с дополнительным связанным.

Другие вопросы по тегам