Я пытаюсь реализовать панель «Добавить в корзину», когда пользователи прокручивают страницу продукта.
Кажется, все работает нормально, кроме значения «по умолчанию» для продукта. Когда я выбираю, скажем, цвет Красный и размер Большой, и нажимаю наклейку «Добавить в корзину», я перенаправляюсь в корзину со значениями по умолчанию для этого продукта, поэтому средний - черный.
Я не могу обернуть голову, как решить this.
Вот мой код;
<section class="productStickyAdd fading" id="stickyIckyStuff">
<div class="productStickyAdd-container">
<div class="sticky-labeling">
<span class="stickyTitle">
{{product.title}}
</span>
<span class="stickyPrice">
{{#or customer (if theme_settings.restrict_to_login '!==' true)}}
{{> components/products/price price=product.price schema_org=schema}}
{{else}}
{{> components/common/login-for-pricing}}
{{/or}}
</span>
</div>
<form class="form" method="post" action="{{product.cart_url}}" enctype="multipart/form-data"
data-cart-item-add>
<input type="hidden" name="action" value="add">
<input type="hidden" name="product_id" value="{{product.id}}"/>
<div data-product-option-change style="display:none;">
{{#each product.options}}
{{{dynamicComponent 'components/products/options'}}}
{{/each}}
</div>
{{#if product.can_purchase}}
{{> components/products/add-to-cart}}
{{/if}}
{{#if product.out_of_stock}}
{{#if product.out_of_stock_message}}
{{> components/common/alert-error product.out_of_stock_message}}
{{else}}
{{> components/common/alert-error (lang 'products.sold_out')}}
{{/if}}
{{/if}}
</form>
</div>
Я использую те же значения, что и в стандартном CTA:
<form class="form" method="post" action="{{product.cart_url}}" enctype="multipart/form-data"
data-cart-item-add>
<input type="hidden" name="action" value="add">
<input type="hidden" name="product_id" value="{{product.id}}"/>
<div data-product-option-change style="display:none;">
{{#each product.options}}
{{{dynamicComponent 'components/products/options'}}}
{{/each}}
</div>
Но я предполагаю, что мне нужно каким-то образом связать компоненты c dynamici с JS, что было выбрано в верхнем, исходном варианте продукта?
Потому что, когда я пытался удалить этот div:
<div data-product-option-change style="display:none;">
{{#each product.options}}
{{{dynamicComponent 'components/products/options'}}}
{{/each}}
</div>
Он даже не перенаправил меня в корзину, но когда div там, он перенаправил меня в корзину с настройками по умолчанию ,
Есть кто-нибудь с этим опытом, я был бы очень благодарен. Не совсем уверен, нужен ли JS здесь или я справлюсь без него.
Спасибо. Хорошего дня!