Alteração na ordem das mídias qdo o cliente ainda não escolheu uma variante

Pessoal,

To usando o tema Craft e preciso que ao abrir a página do produto não veja setado uma variante e sim a primeira midia normal do produto.

Pesquisei em outras comunicades e a sugestão foi:

Você procurará o arquivo product-images.liquid na sua pasta Snippets e procurará o seguinte código:

assign featured_media = product.selected_or_first_available_variant.featured_media | default: product.featured_media

Em seguida, atualize o código para: assign featured_media = product.selected_or_first_available_varia

No tema Impact eu consegui mas no tema Craft a primeira midia do produto fica repetida, precisa mudar mais alguma coisa, pq fica repetido a primeira imagem.

Não consegui achar esse arquivo no tema craft, o código que você mencionou está no arquivo product-media-gallery.liquid, caso você esteja usando uma versão diferente, não se preocupe porque a lógica é a mesma.

Solução

Você tem que modificar esse bloco condicional:

{%- unless media.id == product.selected_or_first_available_variant.featured_media.id -%}

E adicionar isso no lugar:

 {%- unless media.id == featured_media.id -%}

O código basicamente diz “só renderize a imagem no carrosel, se a imagem não for a imagem em destaque (featured_media)”

Eu assumi que você já está mostrando a primeira imagem como a “featured_image” em vez da primeira imagem da variante, caso contrário é só mudar aqui:

{%- assign featured_media = product.selected_or_first_available_variant.featured_media -%}
{%- assign featured_media = product.media[0] -%}

Quase isso.

Eu entendo que preciso modificar aqui

{%- if product.selected_or_first_available_variant.featured_media != null -%}
{%- assign featured_media = product.selected_or_first_available_variant.featured_media -%}

<li id="Slide-{{ section.id }}-{{ featured_media.id }}" class="product__media-item grid__item slider__slide is-active{% if single_media_visible %} product__media-item--single{% endif %}{% if featured_media.media_type != 'image' %} product__media-item--full{% endif %}{% if settings.animations_reveal_on_scroll %} scroll-trigger animate--fade-in{% endif %}" data-media-id="{{ section.id }}-{{ featured_media.id }}"

Pois quando abrir o pagina do produto no site, e nenhuma variante ainda tiver sido escolhida, a imagem q tem que aparecer não é de variante e sim a ordem normal das mídias até que escolham a variante em si e com isso exiba a imagem da variante como principal.

Deu pra entender?

Eu mudei o que você falou mas não deu certo.