I want to achieve this, but I’m stuck in the last part because I can’t find <variant-radios> in main-product.liquid (Dawn theme 14.0.0). Any help would be great!
(GUIDE HERE → https://ecommercepot.com/shopify-qa/size-chart/ )
Hey @Web_Dev_1
You can find the code here
theme code editor → snippets → product-variant-picker.liquid
Hope this helps
1 Like
Hello @Web_Dev_1
To correctly add a size chart to the product page, follow the steps below:
Step 1: First, create a page named “Size Chart” and input the size chart information onto the page, as depicted in the screenshots below.
step 2: Go to customization → product page → under product information add “pop up” block → name it size chart ->choose page that’s created “size chart” like below image
result:
I can’t use this solution because my size chart is different for every product. So, I created an image metafield, but I can’t insert it into normal pages because it’s not standard HTML; it’s liquid code. Also, I need it to appear near the word ‘size,’ not underneath it on a separate line.
{% comment %}
Renders product variant-picker
Accepts:
product: {Object} produact object.
block: {Object} passing the block information.
product_form_id: {String} Id of the product form to which the variant picker is associated.
update_url: {Boolean} whether or not to update url when changing variants. If false, the url isn’t updated. Default: true (optional).
Usage:
{% render ‘product-variant-picker’, product: product, block: block, product_form_id: product_form_id %}
{% endcomment %}
{%- unless product.has_only_default_variant -%}
<variant-selects
id=“variant-selects-{{ section.id }}”
data-section=“{{ section.id }}”
data-url=“{{ product.url }}”
{% if update_url == false %}
data-update-url=“false”
{% endif %}
{{ block.shopify_attributes }}
{%- for option in product.options_with_values -%}
{%- liquid
assign swatch_count = option.values | map: ‘swatch’ | compact | size
assign picker_type = block.settings.picker_type
if swatch_count > 0 and block.settings.swatch_shape != ‘none’
if block.settings.picker_type == ‘dropdown’
assign picker_type = ‘swatch_dropdown’
else
assign picker_type = ‘swatch’
endif
endif
-%}
{%- if picker_type == ‘swatch’ -%}
{{ option.name }}:
{{- option.selected_value -}}
{% render 'product-variant-options',
product: product,
option: option,
block: block,
picker_type: picker_type
%}
{%- elsif picker_type == 'button' -%}
{%- liquid
assign optionNames = settings.optionName | split:","
assign useColor = false
for optionColor in optionNames
if optionColor == option.name
assign useColor = true
break
endif
endfor
-%}
{%- if useColor -%}
{{ option.name }}:
{{ option.selected_value }}
{% render 'color-option', product: product, option: option, block: block %}
{%- else -%}
{{ option.name }}
{% render 'product-variant-options', product: product, option: option, block: block, picker_type: picker_type %}
{%- endif -%}
{%- else -%}
{{ option.name }}
{%- if picker_type == 'swatch_dropdown' -%}
{% render 'swatch', swatch: option.selected_value.swatch, shape: block.settings.swatch_shape %}
{%- endif -%}
{% render 'product-variant-options',
product: product,
option: option,
block: block,
picker_type: picker_type
%}
{% render 'icon-caret' %}
{%- endif -%}
{%- endfor -%}
{%- endunless -%}
This is the product-variant-picker.liquid but no here.
Yes, your code missing code. May be you can compare the dawn default theme without any changes to find the code back.
Feel free to reach out if any further questions
This is a completely new theme without any modifications, and it still doesn’t have the .
{% comment %}
Renders product variant-picker
Accepts:
product: {Object} product object.
block: {Object} passing the block information.
product_form_id: {String} Id of the product form to which the variant picker is associated.
update_url: {Boolean} whether or not to update url when changing variants. If false, the url isn’t updated. Default: true (optional).
Usage:
{% render ‘product-variant-picker’, product: product, block: block, product_form_id: product_form_id %}
{% endcomment %}
{%- unless product.has_only_default_variant -%}
<variant-selects
id=“variant-selects-{{ section.id }}”
data-section=“{{ section.id }}”
data-url=“{{ product.url }}”
{% if update_url == false %}
data-update-url=“false”
{% endif %}
{{ block.shopify_attributes }}
{%- for option in product.options_with_values -%}
{%- liquid
assign swatch_count = option.values | map: ‘swatch’ | compact | size
assign picker_type = block.settings.picker_type
if swatch_count > 0 and block.settings.swatch_shape != ‘none’
if block.settings.picker_type == ‘dropdown’
assign picker_type = ‘swatch_dropdown’
else
assign picker_type = ‘swatch’
endif
endif
-%}
{%- if picker_type == ‘swatch’ -%}
{{ option.name }}:
{{- option.selected_value -}}
{% render 'product-variant-options',
product: product,
option: option,
block: block,
picker_type: picker_type
%}
{%- elsif picker_type == 'button' -%}
{{ option.name }}
{% render 'product-variant-options',
product: product,
option: option,
block: block,
picker_type: picker_type
%}
{%- else -%}
{{ option.name }}
{%- if picker_type == 'swatch_dropdown' -%}
{% render 'swatch', swatch: option.selected_value.swatch, shape: block.settings.swatch_shape %}
{%- endif -%}
{% render 'product-variant-options',
product: product,
option: option,
block: block,
picker_type: picker_type
%}
{% render 'icon-caret' %}
{%- endif -%}
{%- endfor -%}
{%- endunless -%}
Yes, you are right. Dawn theme 14 has removed tag.
So this solution may not work for you. However, pls refer to the this document
Hope this helps.
Add a size chart to the Dawn Theme:
Looking for the same solution. Did you find any?