Hello!
It'd require some coding knowledge. You'll need to access the price of the variant using .liquid, then display it via HTML and finally style it with CSS to make it look the way you want it to be.
If you need further help feel free to e-mail me.
Kind regards,
Diego
HI Dante,
thanks for your fast answer. I discovered some of the code and found the line which is handling the variant dropdown.
<select class="single-option-selector single-option-selector-{{ section.id }} product-form__input" id="SingleOptionSelector-{{ forloop.index0 }}" data-name="{{ option.name }}" data-index="option{{ forloop.index }}"> {% for value in option.values %} <option value="{{ value | escape }}"{% if option.selected_value == value %} selected="selected"{% endif %}>{{ value }}</option> {% endfor %} </select>
If I change the line
<option value="{{ value | escape }}"{% if option.selected_value == value %} selected="selected"{% endif %}>{{ value }}</option>
to
<option value="{{ value | escape }}"{% if option.selected_value == value %} selected="selected"{% endif %}>{{ value }} {{ current_variant.price | divided_by: 100.00 }}</option>
It actually shows me the right price BUT ONLY the price of the standard variant which is chosen when I call the page.
It isnt variable with every variant
@Tofuto wrote:If I change the line
<option value="{{ value | escape }}"{% if option.selected_value == value %} selected="selected"{% endif %}>{{ value }}</option>to
<option value="{{ value | escape }}"{% if option.selected_value == value %} selected="selected"{% endif %}>{{ value }} {{ current_variant.price | divided_by: 100.00 }}</option>
It actually shows me the right price BUT ONLY the price of the standard variant which is chosen when I call the page.
It isnt variable with every variant
current_variant is often hardset with something like the following
{% assign current_variant = product.selected_or_first_available_variant %}
so it is only the price for 1 item on the current product page.
When really you need to be referencing the specific variant (variant.price) for either the current loop, or depending theme and what the rest of the code is doing you need to make your own loop to match the variant to the options.
https://shopify.dev/docs/themes/liquid/reference/objects/variant
https://shopify.dev/docs/themes/liquid/reference/objects/product_option
Then there's the fact that is just the underlying HTML your theme is very likely using that as a base to then generate more specific dropdowns, you can quickly test this by disabling your browsers javascript.
you can change from your theme directory section/product-template.liquid add this code into your theme template.
{% form 'product', product, class:form_classes, novalidate: 'novalidate', data-product-form: '' %}
{% unless product.has_only_default_variant %}
<div class="product-form__controls-group">
{% for option in product.options_with_values %}
<div class="selector-wrapper js product-form__item">
<label for="SingleOptionSelector-{{ forloop.index0 }}">
{{ option.name }}
</label>
<select class="single-option-selector single-option-selector-{{ section.id }} product-form__input"
id="SingleOptionSelector-{{ forloop.index0 }}"
data-index="option{{ forloop.index }}"
>
{% for value in option.values %}
<option value="{{ value | escape }}"{% if option.selected_value == value %} selected="selected"{% endif %}>{{ value }}</option>
{% endfor %}
</select>
</div>
{% endfor %}
</div>
{% endunless %}
<select name="id" id="ProductSelect-{{ section.id }}" class="product-form__variants no-js">
{% for variant in product.variants %}
<option value="{{ variant.id }}"
{%- if variant == current_variant %} selected="selected" {%- endif -%}
>
{{ variant.title }} {%- if variant.available == false %} - {{ 'products.product.sold_out' | t }}{% endif %}
</option>
{% endfor %}
</select>
@Graupner find this code into your template and you can see the select option into the product-template.liquid
{% form 'product', product, class:form_classes, novalidate: 'novalidate', data-product-form: '' %}
you can find below the form 'product' , I posted my working solution debut theme.
Thak you @AvidBrio.
I found the correct place to paste your code but unfortunately, it didn't add the product price to the dropdown.
Graupner
@Graupner you want to uses variant.price, etc near the following code
{{ variant.title }}
as that's what's shown in the initial dropdown in most themes.
However as I previously noted in most themes this will disappear when another variant is selected as the javascript needs to be updated as well.
If you need someone to handle this customization you can hire me my email is paull.newton+shopifyforums@gmail.com
User | Count |
---|---|
24 | |
20 | |
17 | |
16 | |
15 |