Shopify变体样例或单选按钮,而不是Slate中的下拉列表
尚不支持Shopify的教程,Shopify变体样例或单选按钮,而不是Slate中的下拉列表,shopify,slate,Shopify,Slate,尚不支持Shopify的教程, 代码库中不再存在引用的select回调。是否可以修改本教程以处理Slate主题以创建单选按钮或样例,而不是在产品模板上选择变体的下拉列表?是。我可以通过稍微修改代码来完成本教程。只有在shopify教程更新为与Slate对应之前,此解决方案才有意义 按照说明遵循教程。 当你到达“台阶”时, 您会注意到Slate中没有selectCallback函数。哎呀! 而是在theme.js中找到“_onSelectChange”,并在那里添加代码。 这是添加样例代码的最后一
代码库中不再存在引用的select回调。是否可以修改本教程以处理Slate主题以创建单选按钮或样例,而不是在产品模板上选择变体的下拉列表?是。我可以通过稍微修改代码来完成本教程。只有在shopify教程更新为与Slate对应之前,此解决方案才有意义 按照说明遵循教程。 当你到达“台阶”时, 您会注意到Slate中没有selectCallback函数。哎呀! 而是在theme.js中找到“_onSelectChange”,并在那里添加代码。 这是添加样例代码的最后一个函数:
/**
* Event handler for when a variant input changes.
*/
_onSelectChange: function() {
var variant = this._getVariantFromOptions();
this.$container.trigger({
type: 'variantChange',
variant: variant
});
if (!variant) {
return;
}
// BEGIN SWATCHES
var selector = this.originalSelectorId;
if (variant) {
var form = $(selector).closest('form');
for (var i=0,length=variant.options.length; i<length; i++) {
var radioButton = form.find('.swatch[data-option-index="' + i + '"] :radio[value="' + variant.options[i] +'"]');
if (radioButton.size()) {
radioButton.get(0).checked = true;
}
}
}
// END SWATCHES
this._updateMasterSelect(variant);
this._updateImages(variant);
this._updatePrice(variant);
this.currentVariant = variant;
if (this.enableHistoryState) {
this._updateHistoryState(variant);
}
},
/**
*变量输入更改时的事件处理程序。
*/
_onSelectChange:function(){
var variant=此选项。_getVariantFromOptions();
这是$container.trigger({
类型:“variantChange”,
变体:变体
});
如果(!变量){
返回;
}
//开始样例
var选择器=this.originalselectronid;
if(变体){
var form=$(选择器)。最近('form');
对于(var i=0,length=variant.options.length;iThanks for sharingI,我遵循相同的步骤,但一旦我选择了颜色和大小,就会进入一个页面,上面写着“参数缺失或无效:必需参数缺失或无效:id”
{% unless product.has_only_default_variant %}
{% for option in product.options_with_values %}
<div class="selector-wrapper js">
<label for="SingleOptionSelector-{{ forloop.index0 }}">
{{ option.name }}
</label>
<select
id="SingleOptionSelector-{{ forloop.index0 }}"
class="single-option-selector"
data-single-option-selector
data-index="option{{ option.position }}">
{% for value in option.values %}
<option value="{{ value | escape }}"
{% if option.selected_value == value %}selected="selected"{% endif %}>
{{ value }}
</option>
{% endfor %}
</select>
</div>
{% endfor %}
{% endunless %}