Continue selling out of stock but I want variants to be crossed out

Hi,

I would like for some of my items that are continue selling out of stock to include the basic function that crosses out the name in variants when the continue selling out of stock is not applied.

I have managed to add a message that delivery time should take additional days for sold out items, but can’t seem to find what line would react to achieve this.

So this is basically a sold out item, with the message appearing, but I would like sold out items to be crossed out or strikethrough or whatever the basic is for sold out items when they don’t continue selling out of stock.

Also I have attached a picture of the basic appearance that runs when they aren’t sold when out of stock.

Could anyone help me in this matter?

Thanks in advance.

Hi @swazzie ,

Please send me the store link, I will check it for you

Dear @namphan

Thanks for trying to help first of all.

Here is a link for the store, to the specific item that I’m trying to work on: https://smartinserts.net/products/201-50-04c-o4-to-o20

Shop password is dwawa

Not sure if there is another way to provide an overview for the shop without the password.

Hi @swazzie ,

Please send me the code of product-variant-options.liquid file, I will check and add it for you

Dear @namphan

Here is the code for the product-variant-options.liquid file:

{% comment %}
Renders product variant options

Accepts:

  • product: {Object} product object.
  • option: {Object} current product_option object.
  • block: {Object} block object.
  • picker_type: {String} type of picker to display

Usage:
{% render ‘product-variant-options’,
product: product,
option: option,
block: block
picker_type: picker_type
%}
{% endcomment %}
{%- liquid
assign product_form_id = ‘product-form-’ | append: section.id
-%}

{%- for value in option.values -%}
{%- liquid
assign swatch_focal_point = null
if value.swatch.image
assign image_url = value.swatch.image | image_url: width: 50
assign swatch_value = ‘url(’ | append: image_url | append: ‘)’
assign swatch_focal_point = value.swatch.image.presentation.focal_point
elsif value.swatch.color
assign swatch_value = ‘rgb(’ | append: value.swatch.color.rgb | append: ‘)’
else
assign swatch_value = null
endif

assign option_disabled = true
if value.available
assign option_disabled = false
endif
-%}

{%- capture input_id -%}
{{ section.id }}-{{ option.position }}-{{ forloop.index0 -}}
{%- endcapture -%}

{%- capture input_name -%}
{{ option.name }}-{{ option.position }}
{%- endcapture -%}

{%- capture input_dataset -%}
data-product-url=“{{ value.product_url }}”
data-option-value-id=“{{ value.id }}”
{%- endcapture -%}

{%- capture label_unavailable -%}

{{- ‘products.product.variant_sold_out_or_unavailable’ | t -}}

{%- endcapture -%}

{%- if picker_type == ‘swatch’ -%}
{%- capture help_text -%}
{{ value | escape }}
{{ label_unavailable }}
{%- endcapture -%}
{%
render ‘swatch-input’,
id: input_id,
name: input_name,
value: value | escape,
swatch: value.swatch,
product_form_id: product_form_id,
checked: value.selected,
visually_disabled: option_disabled,
shape: block.settings.swatch_shape,
help_text: help_text,
additional_props: input_dataset
%}
{%- elsif picker_type == ‘button’ -%}
<input
type=“radio”
id=“{{ input_id }}”
name=“{{ input_name | escape }}”
value=“{{ value | escape }}”
form=“{{ product_form_id }}”
{% if value.selected %}
checked
{% endif %}
{% if option_disabled %}
class=“disabled”
{% endif %}
{{ input_dataset }}

<label for=“{{ input_id }}” {% if option_disabled %} class=“variant-option-out-of-stock” {% endif %}>
{{ value }}
{{ label_unavailable }}

{%- elsif picker_type == ‘dropdown’ or picker_type == ‘swatch_dropdown’ -%}

{% if option_disabled -%} {{- 'products.product.value_unavailable' | t: option_value: value -}} {%- else -%} {{- value -}} {%- endif %} {%- endif -%} {%- endfor -%}

Hi @swazzie ,

Please change all code:

{% comment %}
Renders product variant options

Accepts:
- product: {Object} product object.
- option: {Object} current product_option object.
- block: {Object} block object.
- picker_type: {String} type of picker to display

Usage:
{% render 'product-variant-options',
product: product,
option: option,
block: block
picker_type: picker_type
%}
{% endcomment %}
{%- liquid
assign product_form_id = 'product-form-' | append: section.id
-%}

{%- for value in option.values -%}
{%- liquid
assign swatch_focal_point = null
if value.swatch.image
assign image_url = value.swatch.image | image_url: width: 50
assign swatch_value = 'url(' | append: image_url | append: ')'
assign swatch_focal_point = value.swatch.image.presentation.focal_point
elsif value.swatch.color
assign swatch_value = 'rgb(' | append: value.swatch.color.rgb | append: ')'
else
assign swatch_value = null
endif

assign option_disabled = true
if value.available
assign option_disabled = false
endif
-%}

{%- capture input_id -%}
{{ section.id }}-{{ option.position }}-{{ forloop.index0 -}}
{%- endcapture -%}

{%- capture input_name -%}
{{ option.name }}-{{ option.position }}
{%- endcapture -%}

{%- capture input_dataset -%}
data-product-url="{{ value.product_url }}"
data-option-value-id="{{ value.id }}"
{%- endcapture -%}

{%- capture label_unavailable -%}

{{- 'products.product.variant_sold_out_or_unavailable' | t -}}

{%- endcapture -%}

{%- if picker_type == 'swatch' -%}
{%- capture help_text -%}
{{ value | escape }}
{{ label_unavailable }}
{%- endcapture -%}
{%
render 'swatch-input',
id: input_id,
name: input_name,
value: value | escape,
swatch: value.swatch,
product_form_id: product_form_id,
checked: value.selected,
visually_disabled: option_disabled,
shape: block.settings.swatch_shape,
help_text: help_text,
additional_props: input_dataset
%}
{%- elsif picker_type == 'button' -%}

{%- elsif picker_type == 'dropdown' or picker_type == 'swatch_dropdown' -%}

{%- endif -%}
{%- endfor -%}
1 Like

Dear @namphan

Thank you so much, it just works perfectly. Now the items are crossed out in variants, and still can be added to the cart. Thanks for your help!

Hi @swazzie ,

If you have any questions, you can contact me directly.
Nice to meet you :blush:

Hi @namphan , do you know how to do it using Minimog Theme?

Hi @Jeanwel ,

Please send the website link, I will check it for you

@namphan I sent it to your email

I have sent you the details to your email @namphan

1 Like