Измените ширину, высоту и позицию раскрывающегося списка вариантов продукта для кнопки покупки Shopify, не отключая iFrame - PullRequest
0 голосов
/ 14 марта 2020

Мне нужно изменить высоту раскрывающегося списка вариантов продукта точно до 42px (такую ​​же высоту, как у кнопки покупки), а ширину - до 80px. Кроме того, вместо того, чтобы раскрывающийся список вариантов продукта располагался над кнопкой покупки, мне нужно располагаться непосредственно рядом с кнопкой покупки слева.

Я пытался найти статьи о том, как это сделать, на форумах Shopify, но пока не нашел ни одного, и я не уверен, где во встроенном коде эти элементы должны измениться. Shopify также не предлагает поддержку настройки для своих кнопок покупки. Я не хочу отключать iFrame.

JSFiddle: https://jsfiddle.net/johnsmithh/eo4rzLwc/2/

Код:

<div id="product-component-1580935128063">
<script type="text/javascript">
/*<![CDATA[*/
(function () {
  var scriptURL = 'https://sdks.shopifycdn.com/buy-button/latest/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: 'missingnewyork.myshopify.com',
      storefrontAccessToken: '8ad1e9d2d113621e1e9785f5a84b7330',
    });
    ShopifyBuy.UI.onReady(client).then(function (ui) {
      ui.createComponent('product', {
        id: '4448713736258',
        node: document.getElementById('product-component-1580935128063'),
        moneyFormat: '%24%7B%7Bamount%7D%7D',
        options: {
  "product": {
    "styles": {
      "product": {
        "@media (min-width: 601px)": {
          "max-width": "calc(25% - 20px)",
          "margin-left": "20px",
          "margin-bottom": "50px"
        }
      },
      "button": {
        "font-weight": "bold",
        "color": "#000000",
        ":hover": {
          "color": "#000000",
          "background-color": "#e6e6e6"
        },
        "background-color": "#ffffff",
        ":focus": {
          "background-color": "#e6e6e6"
        },
        "border-radius": "5px"
      },
    },
      "option": {
          "display": "inline-block",
          "width": "20px",
      },  
    "contents": {
      "img": false,
      "title": false,
      "price": false
    },
    "text": {
    "outOfStock": "SOLD OUT"
    },    
  },
  "productSet": {
    "styles": {
      "products": {
        "@media (min-width: 601px)": {
          "margin-left": "-20px"
        }
      }
    }
  },
  "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",
        "color": "#000000",
        ":hover": {
          "color": "#000000",
          "background-color": "#e6e6e6"
        },
        "background-color": "#ffffff",
        ":focus": {
          "background-color": "#e6e6e6"
        },
        "border-radius": "5px"
      }
    },
    "text": {
      "button": "ADD TO CART"
    }
  },
  "cart": {
    "styles": {
      "button": {
        "font-weight": "bold",
        "color": "#000000",
        ":hover": {
          "color": "#000000",
          "background-color": "#e6e6e6"
        },
        "background-color": "#ffffff",
        ":focus": {
          "background-color": "#e6e6e6"
        },
        "border-radius": "5px"
      },
      "title": {
        "color": "#ffffff"
      },
      "header": {
        "color": "#ffffff"
      },
      "lineItems": {
        "color": "#ffffff"
      },
      "subtotalText": {
        "color": "#ffffff"
      },
      "subtotal": {
        "color": "#ffffff"
      },
      "notice": {
        "color": "#ffffff"
      },
      "currency": {
        "color": "#ffffff"
      },
      "close": {
        "color": "#ffffff",
        ":hover": {
          "color": "#ffffff"
        }
      },
      "empty": {
        "color": "#ffffff"
      },
      "noteDescription": {
        "color": "#ffffff"
      },
      "discountText": {
        "color": "#ffffff"
      },
      "discountIcon": {
        "fill": "#ffffff"
      },
      "discountAmount": {
        "color": "#ffffff"
      },
      "cart": {
        "background-color": "#000000"
      },
      "footer": {
        "background-color": "#000000"
      }
    },
    "text": {
      "title": "CART",
      "empty": "YOUR CART IS EMPTY.",
      "notice": "Shipping and taxes are added at checkout.",    
    }
  },
  "toggle": {
    "styles": {
      "toggle": {
        "font-weight": "bold",
        "background-color": "#ffffff",
        ":hover": {
          "background-color": "#e6e6e6"
        },
        ":focus": {
          "background-color": "#e6e6e6"
        }
      },
      "count": {
        "color": "#000000",
        ":hover": {
          "color": "#000000"
        }
      },
      "iconPath": {
        "fill": "#000000"
      }
    }
  },
  "lineItem": {
    "styles": {
      "variantTitle": {
        "color": "#ffffff"
      },
      "title": {
        "color": "#ffffff"
      },
      "price": {
        "color": "#ffffff"
      },
      "fullPrice": {
        "color": "#ffffff"
      },
      "discount": {
        "color": "#ffffff"
      },
      "discountIcon": {
        "fill": "#ffffff"
      },
      "quantity": {
        "color": "#ffffff"
      },
      "quantityIncrement": {
        "color": "#ffffff",
        "border-color": "#ffffff"
      },
      "quantityDecrement": {
        "color": "#ffffff",
        "border-color": "#ffffff"
      },
      "quantityInput": {
        "color": "#ffffff",
        "border-color": "#ffffff"
      }
    }
  }
},
      });
    });
  }
})();
/*]]>*/
</script>
</div>

Спасибо!

1 Ответ

1 голос
/ 14 марта 2020

У вас есть несколько вариантов. Я бы предложил полностью удалить iFrame и оформить его в файл CSS. Это выглядело бы примерно так:

        moneyFormat: '%24%7B%7Bamount%7D%7D',
        options: {
       "product": {
         "iframe": false,
         ...
          }
       }

Вы можете найти больше информации об этом здесь , просто перейдите к «Пользовательскому стилю без фреймов». Существуют и другие альтернативы, но я считаю, что этот будет наилучшим, чтобы иметь полный контроль, поскольку вы sh.

Имейте в виду, что, естественно, он испортит предварительно построенный CSS. Вот пример, который я кодировал для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...