i am using the “showtime” theme which is a 3rd party theme available on the shopify app store.
here is a copy of the product card liquid. but im not sure what part of the code to insert it into.
{%- liquid
assign NS = 'product-card'
assign cn = '#' | append: NS
assign quick_view = true
assign no_params_product_url = product.url | split: '?' | first
unless settings.product_card_image_crop
assign image_fit = 'contain'
endunless
if settings.product_card_display_alt_image and product
if product.images[1] != blank
assign alt_image = product.images[1]
else
assign alt_image = blank
endif
endif
if settings.product_card_image_padding
assign media_border_radius = 'inner'
else
assign media_border_radius = 'base'
endif
if settings.animation_card_lift_up
assign cn_shadow = 'shadow-hover-2-3'
else
assign cn_shadow = 'shadow-2'
endif
if settings.product_card_dim_unavailable and product.available == false
assign dim_product = true
endif
assign rating_value = product.metafields.reviews.rating.value
assign rating_value = rating_value | strip | plus: 0
assign rating_floor = rating_value | floor
assign rating_remainder = rating_value | minus: rating_floor
assign onboarding_title = 'onboarding.product_title' | t
assign swatches_limit = 5
-%}
{%- capture Reviews -%}
{%- if rating_value > 0 and settings.product_card_show_reviews -%}
{%- for i in (1..5) -%}
{%- if rating_value >= 0.6 -%}
{%- assign icon_name = 'star' -%}
{%- elsif rating_value <= 0.2 -%}
{%- assign icon_name = 'star-empty' -%}
{%- else -%}
{%- assign icon_name = 'star-half' -%}
{%- endif -%}
{% render 'icon', name: icon_name %}
{%- assign rating_value = rating_value | minus: 1 -%}
{%- endfor -%}
{% if settings.product_card_review_counter %}
{{ product.metafields.reviews.rating_count }}
{% endif %}
{%- endif -%}
{%- endcapture -%}
{%- capture Badges -%}
{%- if settings.product_card_badge_sold_out and product.available == false -%}
{{ 'products.product.sold_out' | t }}
{%- endif -%}
{%- if settings.product_card_badge_sale and product.compare_at_price and product.available and product.compare_at_price > product.price -%}
{%- if settings.product_card_badge_sale_style == 'sign' or product.price_varies -%}
{{ 'products.product.on_sale' | t }}
{%- else -%}
{%- if settings.product_card_badge_sale_style == 'percentage' -%}
{%- assign pct = product.price | times: 100 | divided_by: product.compare_at_price -%}
{%- assign saved_value = 100 | minus: pct | append: '%' -%}
{{ 'products.product.saved_amount' | t: value: saved_value }}
{%- endif -%}
{%- if settings.product_card_badge_sale_style == 'absolute' -%}
{%- assign saved_value = product.compare_at_price | minus: product.price | money_without_trailing_zeros -%}
{{ 'products.product.saved_amount' | t: value: saved_value }}
{%- endif -%}
{%- endif -%}
{%- endif -%}
{%- endcapture -%}
{%- if settings.product_card_show_color_swatches and product -%}
{%- capture Color_swatches -%}
{%- assign settings_color_option_names = settings.color_swatches_options | split: ',' | handleize -%}
{%- for product_option in product.options_with_values -%}
{%- assign option_name_handle = product_option.name | handleize -%}
{%- if settings_color_option_names contains option_name_handle -%}
{%- assign option_position = "option" | append: product_option.position -%}
{%- for color_value in product_option.values limit: swatches_limit -%}
{%- assign option_variant = product.variants | where: option_position, color_value | first -%}
{%- if option_variant.image != blank -%}
{%- capture Swatch_variant_images -%}
{{ Swatch_variant_images }}
{% render 'media',
image: option_variant.image,
srcsize_desktop: image_srcsize_desktop,
srcsize_mobile: image_srcsize_mobile,
border_radius: media_border_radius,
size: settings.product_card_image_size,
image_fit: image_fit,
animate_lazy_loading: false
%}
{%- endcapture -%}
{%- endif -%}
{%- endfor -%}
{%- if product_option.values.size > swatches_limit -%}
{%- assign colors_remainder = product_option.values.size | minus: swatches_limit -%}
{%- render 'icon', name: 'plus' -%}
{{ colors_remainder }}
{%- endif -%}
{%- break -%}
{%- endif -%}
{%- endfor -%}
{%- endcapture -%}
{%- endif -%}
{%- capture Express_button -%}
{%- if settings.product_card_show_express_button and product.available -%}
{%- assign available_variants = product.variants | where: 'available' -%}
{%- if product.has_only_default_variant or available_variants.size == 1 -%}
{%- capture Button_text -%}
{%- render 'icon', name: 'plus' -%}
{{ 'products.product.express_add_to_cart' | t }}
{%- endcapture -%}
{%- assign atts = 'data-to-cart' -%}
{%- assign loading = true -%}
{%- else -%}
{%- capture atts -%}url="{{ no_params_product_url }}?section_id=r_express-option-list" target="#expressOptionListModal"{%- endcapture -%}
{%- capture Button_text -%}{{'products.product.express_show_options' | t }}{%- endcapture -%}
{%- assign button_tag = 'modal-trigger' -%}
{%- endif -%}
{%- capture Button -%}
{% render 'button',
text: Button_text,
size: 'body',
loading: loading,
spinner_size: 'xs',
tag: button_tag,
atts: atts
%}
{%- endcapture -%}
{%- if product.has_only_default_variant or available_variants.size == 1 -%}
{% render 'product-to-cart',
trigger: Button,
variant: product.first_available_variant
%}
{%- else -%}
{{ Button }}
{%- endif -%}
{%- endif -%}
{%- endcapture -%}
{%- if Swatch_variant_images != blank -%}
{%- assign wrapper = NS -%}
{%- else -%}
{%- assign wrapper = 'div' -%}
{%- endif -%}
<{{ wrapper }} class="{{ cn }} {% if dim_product %}@dim{% endif %} :{{ settings.product_card_align }} {% if horizontal == true %}@horizontal{% endif %} {% if settings.product_card_image_padding %}@image-padding{% endif %} {{ cn_shadow }}" style="--max-lines: {{ settings.product_card_title_max_lines }};">
{%- if product.url != blank -%}
{{ product.title }}
{%- endif -%}
{%- if Badges != blank -%}
{{ Badges }}
{%- endif -%}
{%- capture Price -%}
{% render 'price', product: product %}
{%- endcapture -%}
{%- if settings.product_card_darken_image -%}
{%- endif -%}
{{ Express_button }}
{% render 'media',
image: product.featured_image,
removelazy:removelazy,
srcsize_desktop: image_srcsize_desktop,
srcsize_mobile: image_srcsize_mobile,
border_radius: media_border_radius,
size: settings.product_card_image_size,
image_fit: image_fit,
placeholder: 'product',
placeholder_index: placeholder_index,
%}
{%- if Swatch_variant_images != blank -%}
{{ Swatch_variant_images }}
{%- endif -%}
{%- if alt_image and alt_image != blank and dim_product != true -%}
{% render 'media',
image: alt_image,
removelazy:removelazy,
srcsize_desktop: image_srcsize_desktop,
srcsize_mobile: image_srcsize_mobile,
border_radius: media_border_radius,
size: settings.product_card_image_size,
image_fit: image_fit
%}
{%- endif -%}
{%- if settings.product_card_enable_quick_view and product.title != blank -%}
{%-liquid
if settings.product_card_show_express_button
assign quick_view_position = 'center'
assign quick_view_button_color = 'text-inverse'
else
assign quick_view_position = 'bottom'
assign quick_view_button_color = 'primary'
endif
-%}
{%- capture atts -%}url="{{ no_params_product_url }}?view=quick-view" target="#ProductQuickView-{{ product.id }}" container close-button{%- endcapture -%}
{% render 'button',
t_text: 'products.product.quick_view',
tag: 'modal-trigger',
atts: atts,
size: 'body',
color_scheme: quick_view_button_color,
%}
{%- endif -%}
{%- if settings.product_card_rating_position == 'top' -%}
{{ Reviews }}
{%- endif -%}
{% if settings.product_card_show_vendor != blank %}
{{ product.vendor }}
{% endif %}
{%- if settings.product_card_price_position == 'before' -%}
{{ Price }}
{%- endif -%}
### {{ product.title | default: onboarding_title }}
{%- if settings.product_card_price_position == 'after' -%}
{{ Price }}
{%- endif -%}
{%- if settings.product_card_rating_position == 'bottom' -%}
{{ Reviews }}
{%- endif -%}
{{ Color_swatches }}