Shopify themes, liquid, logos, and UX
Looking for help regarding adding product sku to my collection page, at present i can see my sku on each individual page but when i look on my collection page it only has the vendor product title and price. See image below. I am using venture theme can anyone help?
Solved! Go to the solution
This is an accepted solution.
Hi @KathyP
A SKU of the first available product variant can be added for Collection page by adding one line of code to the "product-card.liquid" snippet of your theme.
Here the code that have to be added:
<div class="product-sku">{{ product.first_available_variant.sku }}</div>
To show a SKU right at the top of a Product vendor, kindly add the code right before Vendor's code:
{% if settings.product_vendor_enable %} <div class="product-card__brand">{{ product.vendor }}</div> {% endif %}
So, the result would be next one:
<div class="product-sku">{{ product.first_available_variant.sku }}</div> {% if settings.product_vendor_enable %} <div class="product-card__brand">{{ product.vendor }}</div> {% endif %}
Here the screenshot for the reference: http://prntscr.com/sxl51f
This is an accepted solution.
Sure, to show SKU of the first product variant (no matter, does it available or sold out), instead {{ product.first_available_variant.sku }} code, just use {{ product.variants[0].sku }} code.
This is an accepted solution.
Hi @KathyP
A SKU of the first available product variant can be added for Collection page by adding one line of code to the "product-card.liquid" snippet of your theme.
Here the code that have to be added:
<div class="product-sku">{{ product.first_available_variant.sku }}</div>
To show a SKU right at the top of a Product vendor, kindly add the code right before Vendor's code:
{% if settings.product_vendor_enable %} <div class="product-card__brand">{{ product.vendor }}</div> {% endif %}
So, the result would be next one:
<div class="product-sku">{{ product.first_available_variant.sku }}</div> {% if settings.product_vendor_enable %} <div class="product-card__brand">{{ product.vendor }}</div> {% endif %}
Here the screenshot for the reference: http://prntscr.com/sxl51f
Your a Legend Sasha2 it worked.... i had tried so many different things and it was one line of code. Thanks heaps
That worked for me as well thankyou but only shows sku if product is in stock, Can I make it show on products out of stock as well?
This is an accepted solution.
Sure, to show SKU of the first product variant (no matter, does it available or sold out), instead {{ product.first_available_variant.sku }} code, just use {{ product.variants[0].sku }} code.
Hi Sasha
I used your code for the collection page in Venture theme and it looks fine thank you so much for this. So now I would love to add same Sku to the productpage itself if possible ? We are not int. in showing the Vendor so if possible a code without this if you know how
I cross my fingers for your help
Linda
Hi @Party4all,
Sure, here you go:
To have an SKU for a Product page, kindly insert this one code:
<p class="product-single__vendor">SKU: {{ product.first_available_variant.sku | default: product.variants[0].sku }}</p>
To the product-template.liquid section right before a Product title code:
Hmm this only adds another SKU on my collection page ? and still no Sku on the produkt page You can see below how the code looks now...
@Party4all I believe, you have inserted the code into a Snippet, not the Section called "product-template.liquid". Kindly check if from your side.
Yes my mistake... thank you very much! Now I removed it from the collection page again and renamed it to more Danish word for SKU so thanks a lot and a merry Christmas when you get to it. Linda
https://living4all.dk/collections/ting-til-hjemmet/products/vasketojskurv
Hi Sasha
I dare to ask you if you could also help with video on our product page. Fingers crossed again. 🙂
When I follow this Link on the help it gives me a nice video on the page but removes all our pictures for this product. And if I change one line in the code regarding the new media Snippet then it shows as many of the same pictures as I have put in, so no luck there either.
Maybe the code has changed a bit or I have done something wrong (please note that I change the code back in the snippet to make it show correct again just without the video.
Best Regards
Linda
@Party4all Hi Linda,
Yeah, the Venture theme does not support the Product media feature.
To achieve it for your theme, kindly use the next code.
1. Here the whole code for the section product-template.liquid:
<div class="page-width" itemscope itemtype="http://schema.org/Product" id="ProductSection-{{ section.id }}" data-section-id="{{ section.id }}" data-section-type="product" data-enable-history-state="true" data-ajax="{{ section.settings.enable_ajax }}" data-stock="{{ section.settings.stock_enable }}">
{% assign product_image_size = '480x480' %}
<meta itemprop="name" content="{{ product.title }}">
<meta itemprop="url" content="{{ shop.url }}{{ product.url }}">
<meta itemprop="image" content="{{ product.featured_image.src | img_url: '600x600' }}">
{%- if settings.product_vendor_enable -%}
<meta itemprop="brand" content="{{ product.vendor }}">
{%- endif -%}
{% comment %}
Get first variant, or deep linked one
{% endcomment %}
{% assign current_variant = product.selected_or_first_available_variant %}
{% assign variants_with_unit_price = product.variants | where: "unit_price_measurement" %}
<div class="grid product-single">
<div class="grid__item {% if product.images.size > 1 %}medium-up--three-fifths{% else %}medium-up--one-half{% endif %}">
<div class="photos">
<div class="photos__item photos__item--main">
{%- assign featured_image = current_variant.featured_image | default: product.featured_image -%}
{% for media in product.media %}
{% include 'media' %}
{% endfor %}
<noscript>
<a href="{{ featured_image | img_url: '1024x1024' }}">
<img src="{{ featured_image | img_url: product_image_size }}" alt="{{ featured_image.alt | escape }}" id="ProductPhotoImg-{{ section.id }}">
</a>
</noscript>
</div>
{% if product.media.size > 1 %}
<div class="photos__item photos__item--thumbs">
<div class="product-single__thumbnails product-single__thumbnails-{{ section.id }}{% unless product.media.size > 2 %} product-single__thumbnails--static{% endunless %}">
{% for media in product.media %}
<div class="product-single__thumbnail-item product-single__thumbnail-item-{{ section.id }}{% if media == featured_image %} is-active{% endif %}" data-image-id="{{ media.id }}">
<a href="{{ media | img_url: product_image_size }}" data-zoom="{{ media | img_url: '1024x1024' }}" class="product-single__thumbnail product-single__thumbnail-{{ section.id }}">
<img src="{{ media | img_url: '160x160' }}" alt="{{ media.alt | escape }}">
</a>
</div>
{% endfor %}
</div>
</div>
{% endif %}
{% if product.media.size > 2 %}
{% comment %}
Add SVG icon snippets to an object for custom slider arrows
{% endcomment %}
<script>
{% capture arrow_left %}{% include 'icon-arrow-left' %}{% endcapture %}
{% capture arrow_right %}{% include 'icon-arrow-right' %}{% endcapture %}
{% capture arrow_up %}{% include 'icon-arrow-up' %}{% endcapture %}
{% capture arrow_down %}{% include 'icon-arrow-down' %}{% endcapture %}
var sliderArrows = {
left: {{ arrow_left | json }},
right: {{ arrow_right | json }},
up: {{ arrow_up | json }},
down: {{ arrow_down | json }}
}
</script>
{% endif %}
</div>
</div>
<div class="grid__item {% if product.media.size > 1 %}medium-up--two-fifths{% else %}medium-up--one-half{% endif %}" itemprop="offers" itemscope itemtype="http://schema.org/Offer">
<div class="product-single__info-wrapper">
<meta itemprop="priceCurrency" content="{{ cart.currency.iso_code }}">
<link itemprop="availability" href="http://schema.org/{% if product.available %}InStock{% else %}OutOfStock{% endif %}">
<div class="product-single__meta small--text-center">
{% if settings.product_vendor_enable %}
<p class="product-single__vendor">{{ product.vendor }}</p>
{% endif %}
<div class="product-item--vendor">{{ product.first_available_variant.sku | default: product.variants[0].sku }}</div>
<h1 itemprop="name" class="product-single__title">{{ product.title }}</h1>
<ul class="product-single__meta-list list--no-bullets list--inline{% if shop.taxes_included or shop.shipping_policy.body != blank %} product-single__price-container{% endif %}">
<li id="ProductSaleTag-{{ section.id }}" class="{% unless product.compare_at_price > product.price %}hide{% endunless %}">
<div class="product-tag">
{{ 'products.product.on_sale' | t }}
</div>
</li>
<li>
{% unless product.compare_at_price_max > product.price %}
<span class="visually-hidden">{{ 'products.product.regular_price' | t }}</span>
{% endunless %}
<span id="ProductPrice-{{ section.id }}" class="product-single__price" itemprop="price" content="{{ current_variant.price | divided_by: 100.00 }}">
{{ current_variant.price | money }}
</span>
</li>
{% if product.compare_at_price_max > product.price %}
<li>
<span class="visually-hidden">{{ 'products.product.regular_price' | t }}</span>
<s id="ComparePrice-{{ section.id }}" class="product-single__price product-single__price--compare">
{{ current_variant.compare_at_price | money }}
</s>
</li>
{% endif %}
{%- if variants_with_unit_price.size > 0 -%}
<li>
{% include 'product-unit-price', product_variant: current_variant %}
</li>
{%- endif -%}
{% if section.settings.stock_enable %}
<li>
<span id="ProductStock-{{ section.id }}" class="product-single__stock {% unless current_variant.inventory_management and current_variant.inventory_quantity < 10 and current_variant.inventory_quantity > 0 or current_variant.inventory_management and current_variant.inventory_quantity <= 0 and current_variant.incoming %} hide{% endunless %}">
{% if current_variant.inventory_management %}
{% if current_variant.inventory_quantity < 10 and current_variant.inventory_quantity > 0 %}
{% assign qty = current_variant.inventory_quantity %}
{{ 'products.product.stock_available' | t: count: qty }}
{% elsif current_variant.inventory_quantity == 0 or current_variant.inventory_quantity < 0 and current_variant.incoming %}
{% if current_variant.available %}
{% assign date = current_variant.next_incoming_date | date: format: 'date' %}
{{ 'products.product.will_not_ship_until' | t: date: date }}
{% else %}
{% assign date = current_variant.next_incoming_date | date: format: 'date' %}
{{ 'products.product.will_be_in_stock_after' | t: date: date }}
{% endif %}
{% endif %}
{% endif %}
</span>
</li>
{% endif %}
</ul>
{%- if shop.taxes_included or shop.shipping_policy.body != blank -%}
<div class="product-single__policies rte">
{%- if shop.taxes_included -%}
{{ 'products.product.include_taxes' | t }}
{%- endif -%}
{%- if shop.shipping_policy.body != blank -%}
{{ 'products.product.shipping_policy_html' | t: link: shop.shipping_policy.url }}
{%- endif -%}
</div>
{%- endif -%}
</div>
<hr>
{% capture "form_class" %}product-form{% if section.settings.enable_payment_button %} product-form--payment-button{% endif %}{%- endcapture %}
{% capture "form_id" %}AddToCartForm-{{ section.id }}{%- endcapture %}
{% form 'product', product, class:form_class, id:form_id %}
{% unless product.has_only_default_variant %}
{% for option in product.options_with_values %}
<div class="selector-wrapper js product-form__item">
<label {% if option.name == 'default' %}class="label--hidden" {% endif %}for="SingleOptionSelector-{{ section.id }}-{{ forloop.index0 }}">{{ option.name }}</label>
<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>
</div>
{% endfor %}
{% endunless %}
<select name="id" id="ProductSelect-{{ section.id }}" class="product-form__variants no-js">
{% for variant in product.variants %}
<option {% if variant == current_variant %} selected="selected" {% endif %} data-sku="{{ variant.sku }}" value="{{ variant.id }}" {% unless variant.available %} disabled="disabled" {% endunless %}>
{% if variant.available %}
{{ variant.title }} - {{ variant.price | money_with_currency }}
{% else %}
{{ variant.title }} - {{ 'products.product.sold_out' | t }}
{% endif %}
</option>
{% endfor %}
</select>
<div class="product-form__item product-form__item--quantity">
<label for="Quantity">{{ 'products.product.quantity' | t }}</label>
<input type="number" id="Quantity" name="quantity" value="1" min="1" class="product-form__input product-form__quantity">
</div>
<div class="product-form__item product-form__item--submit">
<button type="submit"
name="add"
id="AddToCart-{{ section.id }}"
class="btn btn--full product-form__cart-submit{% unless current_variant.available %} btn--sold-out{% endunless %}{% if section.settings.enable_payment_button and product.selling_plan_groups == empty %} btn--secondary-accent{% endif %}"
{% unless current_variant.available %}disabled="disabled"{% endunless %}>
<span id="AddToCartText-{{ section.id }}">
{% unless current_variant.available %}
{{ 'products.product.sold_out' | t }}
{% else %}
{{ 'products.product.add_to_cart' | t }}
{% endunless %}
</span>
</button>
{% if section.settings.enable_payment_button %}
{{ form | payment_button }}
{% endif %}
</div>
{% endform %}
<hr>
<div class="rte product-single__description" itemprop="description">
{{ product.description }}
</div>
{% if section.settings.social_sharing_products %}
<hr>
{% include 'social-sharing', share_title: product.title, share_permalink: product.url, share_image: product %}
{% endif %}
</div>
</div>
</div>
</div>
{% unless product == empty %}
<script type="application/json" id="ProductJson-{{ section.id }}">
{{ product | json }}
</script>
{% if section.settings.stock_enable %}
<script type="application/json" id="VariantJson-{{ section.id }}">
[
{% for variant in product.variants %}
{
"incoming": {{ variant.incoming | default: false | json }},
"next_incoming_date": {{ variant.next_incoming_date | date: format: 'date' | json }},
"inventory_policy": {{ variant.inventory_policy | json }},
"inventory_quantity": {{ variant.inventory_quantity | json }}
}{% unless forloop.last %},{% endunless %}
{% endfor %}
]
</script>
{% endif %}
{% endunless %}
{% schema %}
{
"name": {
"cs": "Stránky produktu",
"da": "Produktsider",
"de": "Produktseiten",
"en": "Product pages",
"es": "Páginas de productos",
"fi": "Tuotesivut",
"fr": "Pages de produits",
"hi": "उत्पाद पेज",
"it": "Pagine di prodotto",
"ja": "商品ページ",
"ko": "제품 페이지",
"nb": "Produktsider",
"nl": "Productpagina's",
"pl": "Strony produktu",
"pt-BR": "Páginas de produtos",
"pt-PT": "Páginas de produtos",
"sv": "Produktsidor",
"th": "หน้าสินค้า",
"tr": "Ürün sayfaları",
"vi": "Trang sản phẩm",
"zh-CN": "产品页面",
"zh-TW": "產品頁面"
},
"settings": [
{
"type": "checkbox",
"id": "enable_ajax",
"label": {
"cs": "Po přidání položky do košíku zůstat na aktuální stránce",
"da": "Bliv på aktuel side, når vare lægges i indkøbskurven",
"de": "Auf der aktuellen Seite bleiben, wenn Artikel hinzugefügt wird",
"en": "Stay on current page when item is added to cart",
"es": "Permanece en la página actual al agregar el artículo al carrito.",
"fi": "Pysy nykyisellä sivulla, kun tuote lisätään ostoskoriin",
"fr": "Rester sur la page actuelle lorsqu'un article est ajouté au panier",
"hi": "जब वस्तु कार्ट में जोड़ी जाती है तो वर्तमान पेज पर रहें",
"it": "Resta sulla stessa pagina quando l'articolo viene aggiunto al carrello",
"ja": "アイテムがカートに追加されたときに現在のページにとどまる",
"ko": "카트에 품목이 추가되면 현재 페이지에 머무십시오",
"nb": "Bli på nåværende side når vare legges i handlekurven",
"nl": "Blijf op de huidige pagina wanneer het product is toegevoegd",
"pl": "Pozostań na bieżącej stronie po dodaniu pozycji do koszyka",
"pt-BR": "Permanecer na página atual quando o item for adicionado ao carrinho",
"pt-PT": "Permanecer na página atual quando o item é adicionado ao carrinho",
"sv": "Stanna på nuvarande sida när objektet läggs i kundvagnen",
"th": "อยู่ในหน้าปัจจุบันเมื่อมีการเพิ่มรายการลงในตะกร้าสินค้า",
"tr": "Sepete ürün eklendiğinde mevcut sayfada kal",
"vi": "Ở lại trang hiện tại khi thêm mặt hàng vào giỏ hàng",
"zh-CN": "在将产品添加到购物车时停留在当前页面",
"zh-TW": "商品加入購物車時留在目前頁面"
},
"default": true
},
{
"type": "checkbox",
"id": "stock_enable",
"label": {
"cs": "Zobrazit skladové zásoby, jakmile je k dispozici méně než 10 produktů",
"da": "Vis lagerbeholdning, når der er mindre end 10 tilgængelige produkter",
"de": "Bestand anzeigen, wenn weniger als 10 Produkte verfügbar sind",
"en": "Show stock when less than 10 products available",
"es": "Mostrar inventario cuando haya menos de 10 productos disponibles.",
"fi": "Näytä varastotiedot, kun saatavilla on alle 10 tuotetta",
"fr": "Afficher le stock lorsque moins de 10 produits sont disponibles",
"hi": "10 से कम उत्पाद उपलब्ध होने पर स्टॉक दिखाएं",
"it": "Mostra quantità prodotti disponibili quando ne restano meno di 10",
"ja": "商品の在庫数が10個以下の場合は在庫を表示する",
"ko": "사용할 수 있는 제품이 10개 미만인 경우 재고 표시",
"nb": "Vis lagerbeholdning når mindre enn 10 produkter er tilgjengelig",
"nl": "Laat voorraad zien wanneer minder dan 10 producten beschikbaar zijn",
"pl": "Pokaż zapasy, gdy dostępnych jest mniej niż 10 produktów",
"pt-BR": "Exibir estoque quando há menos de 10 produtos disponíveis",
"pt-PT": "Mostrar stock quando há menos de 10 produtos disponíveis",
"sv": "Visa lager när mindre än 10 produkter är tillgängliga",
"th": "แสดงสต็อกเมื่อมีสินค้าพร้อมจำหน่ายน้อยกว่า 10 ชิ้น",
"tr": "10 adetten az ürün mevcut olduğunda stoku göster",
"vi": "Hiển thị hàng lưu kho khi còn dưới 10 sản phẩm",
"zh-CN": "在可供货的产品不足 10 个时显示库存",
"zh-TW": "可提供產品少於 10 項時顯示庫存。"
},
"default": false
},
{
"type": "checkbox",
"id": "enable_payment_button",
"label": {
"cs": "Zobrazit dynamické tlačítko pokladny",
"da": "Vis dynamisk betalingsknap",
"de": "Dynamischen Checkout Button anzeigen",
"en": "Show dynamic checkout button",
"es": "Mostrar botón de pago dinámico",
"fi": "Näytä dynaaminen kassapainike",
"fr": "Afficher le bouton de paiement dynamique",
"hi": "डायनेमिक चेकआउट बटन दिखाएं",
"it": "Mostra pulsante di check-out dinamico",
"ja": "動的チェックアウトボタンを表示する",
"ko": "동적 결제 버튼 표시",
"nb": "Vis dynamisk knapp for å gå til kassen",
"nl": "Dynamische betaalknop weergeven",
"pl": "Pokaż dynamiczny przycisk realizacji zakupu",
"pt-BR": "Exibir botão de checkout dinâmico",
"pt-PT": "Mostrar o botão dinâmico de finalização da compra",
"sv": "Visa dynamiska utcheckningsknappar",
"th": "แสดงปุ่มชำระเงินแบบไดนามิก",
"tr": "Dinamik ödeme düğmesini göster",
"vi": "Hiển thị nút thanh toán động",
"zh-CN": "显示动态结账按钮",
"zh-TW": "顯示動態結帳按鈕"
},
"info": {
"cs": "Každý zákazník uvidí platební metodu, kterou ze všech metod dostupných v obchodě (například PayPal nebo Apple Pay) nejvíce preferuje. [Další informace](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
"da": "Den enkelte kunde vil se sin foretrukne betalingsmetode blandt dem, der er tilgængelige i din butik, f.eks. PayPal eller Apple Pay. [Få mere at vide](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
"de": "Jeder Kunde sieht seine bevorzugte Zahlungsmethode aus den in deinem Shop verfügbaren Zahlungsmethoden wie PayPal oder Apple Pay. [Mehr Informationen](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
"en": "Each customer will see their preferred payment method from those available on your store, such as PayPal or Apple Pay. [Learn more](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
"es": "Cada cliente verá su forma de pago preferida entre las disponibles en tu tienda, como PayPal o Apple Pay. [Más información](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
"fi": "Kukin asiakas näkee ensisijaisen valintansa kauppasi tarjoamista maksutavoista, esim. PayPal tai Apple Pay. [Lisätietoja](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
"fr": "Chaque client verra son moyen de paiement préféré parmi ceux qui sont proposés sur votre boutique, tels que PayPal ou Apple Pay. [En savoir plus](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
"hi": "प्रत्येक ग्राहक आपके स्टोर पर उपलब्ध अपनी पसंदीदा भुगतान की विधि देखेंगे जैसे PayPal या Apple Pay. [अधिक जानें](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
"it": "Ogni cliente vedrà il suo metodo di pagamento preferito tra quelli disponibili nel tuo negozio, come PayPal o Apple Pay. [Maggiori informazioni](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
"ja": "PayPalやApple Payなど、ストアで利用可能なお好みの決済方法がお客様に表示されます。[詳しくはこちら](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
"ko": "각 고객은 PayPal 또는 Apple Pay와 같이 스토어에서 사용 가능한 기본 결제 방법을 확인할 수 있습니다. [자세히 알아보기](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
"nb": "Hver enkelt kunde vil se sin foretrukne betalingsmåte blant de som er tilgjengelig i butikken din, som PayPal eller Apple Pay. [Finn ut mer](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
"nl": "Elke klant ziet zijn of haar beschikbare voorkeursmethode om af te rekenen, zoals PayPal of Apple Pay. [Meer informatie](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
"pl": "Każdy klient zobaczy swoją preferowaną metodę płatności wśród metod dostępnych w Twoim sklepie, np. PayPal lub Apple Pay. [Dowiedz się więcej ](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
"pt-BR": "Cada cliente verá a forma de pagamento preferencial dentre as disponíveis na loja, como PayPal ou Apple Pay. [Saiba mais](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
"pt-PT": "Cada cliente irá ver o seu método de pagamento preferido entre os disponíveis na loja, como o PayPal ou Apple Pay. [Saiba mais](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
"sv": "Varje kund kommer att se den föredragna betalningsmetoden från de som finns tillgängliga i din butik, till exempel PayPal eller Apple Pay. [Läs mer](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
"th": "ลูกค้าแต่ละรายจะเห็นวิธีการชำระเงินที่ต้องการจากวิธีที่ใช้ได้ในร้านค้าของคุณ เช่น PayPal หรือ Apple Pay [ดูข้อมูลเพิ่มเติม](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
"tr": "Her müşteri, mağazanızda sunulanlar arasından tercih ettikleri ödeme yöntemini görür (ör. PayPal veya Apple Pay). [Daha fazla bilgi edinin](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
"vi": "Mỗi khách hàng sẽ thấy phương thức thanh toán ưu tiên trong những phương thức thanh toán được hỗ trợ tại cửa hàng như PayPal hoặc Apple Pay. [Tìm hiểu thêm](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
"zh-CN": "每位客户都可在您商店提供的付款方式中看到他们的首选付款方式,例如 PayPal 或 Apple Pay。[了解详细信息](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
"zh-TW": "每位顧客都可以在您商店內開放使用的付款方式中看見他們偏好使用的方式,如 PayPal、Apple Pay 等。[深入瞭解](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)"
},
"default": true
},
{
"type": "checkbox",
"id": "social_sharing_products",
"label": {
"cs": "Povolit sdílení produktů",
"da": "Aktivér produktdeling",
"de": "Teilen von Produkten aktivieren",
"en": "Enable product sharing",
"es": "Habilitar compartir productos",
"fi": "Ota tuotejako käyttöön",
"fr": "Activer le partage de produits",
"hi": "उत्पाद साझाकरण सक्षम करें",
"it": "Permetti condivisione del prodotto",
"ja": "商品の共有を有効にする",
"ko": "제품 공유 활성화",
"nb": "Aktiver produktdeling",
"nl": "Delen van producten inschakelen",
"pl": "Włącz udostępnianie produktów",
"pt-BR": "Habilite o compartilhamento de produtos",
"pt-PT": "Ativar a partilha de produtos",
"sv": "Aktivera produktdelning",
"th": "เปิดใช้การแชร์สินค้า",
"tr": "Ürün paylaşımını etkinleştir",
"vi": "Bật chia sẻ sản phẩm",
"zh-CN": "启用产品分享",
"zh-TW": "啟用產品分享"
},
"default": true
}
]
}
{% endschema %}
2. And here the code for the media snippet:
{% case media.media_type %}
{% when 'image' %}
<div class="product-single__photo product__photo-container product__photo-container-{{ section.id }} js{% unless media == featured_image %} hide{% endunless %}"
id="ProductPhoto"
style="max-width: {% include 'image-width' with image: media, width: 480 %}px;"
data-image-id="{{ media.id }}">
<a href="{{ media | img_url: '1024x1024' }}"
class="js-modal-open-product-modal product__photo-wrapper product__photo-wrapper-{{ section.id }}"
style="padding-top:{{ 1 | divided_by: media.aspect_ratio | times: 100}}%;">
{% assign img_url = media | img_url: '1x1' | replace: '_1x1.', '_{width}x.' %}
<img class="lazyload{% unless media == featured_image %} lazypreload{% endunless %}"
src="{{ media | img_url: '150x150' }}"
data-src="{{ img_url }}"
data-widths="[180, 240, 360, 480, 720, 960, 1080, 1296, 1512, 1728, 2048]"
data-aspectratio="{{ media.aspect_ratio }}"
data-sizes="auto"
alt="{{ media.alt | escape }}">
</a>
</div>
{% when 'external_video' %}
<div class="product-single__photo product__photo-container video-wrapper product__photo-container-{{ section.id }} js
{% unless media == featured_image %} hide{% endunless %}"
style="padding-bottom: {{ 1 | divided_by: media.aspect_ratio | times: 100}}%;"
data-image-id="{{ media.id }}">
{{ media | external_video_tag }}
</div>
{% when 'video' %}
<div class="product-single__photo product__photo-container video-wrapper product__photo-container-{{ section.id }} js
{% unless media == featured_image %} hide{% endunless %}"
style="padding-bottom: {{ 1 | divided_by: media.aspect_ratio | times: 100}}%;"
data-image-id="{{ media.id }}">
{{ media | video_tag: controls: true }}
</div>
{% when 'model' %}
<di class="product-single__photo product__photo-container video-wrapper product__photo-container-{{ section.id }} js
{% unless media == featured_image %} hide{% endunless %}"
style="padding-bottom: {{ 1 | divided_by: media.aspect_ratio | times: 100}}%;"
data-image-id="{{ media.id }}">
{{ media | model_viewer_tag }}
</div>
{% else %}
<div class="product-single__photo product__photo-container video-wrapper product__photo-container-{{ section.id }} js
{% unless media == featured_image %} hide{% endunless %}"
style="padding-bottom: {{ 1 | divided_by: media.aspect_ratio | times: 100}}%;"
data-image-id="{{ media.id }}">
{{ media | media_tag }}
</div>
{% endcase %}
Wow... I need to know if you want me to replace ALL (from line 1..) in product-template.liquid: with the code ? or is it just the code I did put in from the guide ?
Is it possible for you to provide this code for warehouse 2.0 theme? also we are trying to have product sku and weight show on the cart page in smaller font under the item title (both in cart drawer and cart page) is this possible?
We have the warehouse theme and are trying to add the SKU to our collection page too. Can you help with this?
@shannonk922Unfortunately, as a third-party developer, I am not able to check a code of any paid Shopify theme. So, I just can't clarify for you, where exactly you have to use the code that I have shared in this thread.
But surely, you can contact your theme support team to clarify it with them.
Is it possible to add the SKU for a collection? For example, if you sell crockery then an SKU for the mugs collection, an SKU for the plates collection and so on and so forth?
I hope that this question makes sense.
@Sasha2 do you know how to do this on Dawn theme? I've been trying to figure out the solution for days.
Yeah, for the Dawn theme you have to use a little another way.
You have to paste this one code:
<div class="product-sku h5">{{ product_card_product.first_available_variant.sku }}</div>
To the snippet called "product-card.liquid".
The upper code have to be pasted right before the Vendor's output code
{%- if show_vendor -%}
<span class="visually-hidden">{{ 'accessibility.vendor' | t }}</span>
<div class="caption-with-letter-spacing light">{{ product_card_product.vendor }}</div>
{%- endif -%}
So, in the result, you have get this one code structure:
<div class="product-sku h5">{{ product_card_product.first_available_variant.sku }}</div>
{%- if show_vendor -%}
<span class="visually-hidden">{{ 'accessibility.vendor' | t }}</span>
<div class="caption-with-letter-spacing light">{{ product_card_product.vendor }}</div>
{%- endif -%}
Here the screenshot for reference:
Hey @Sasha2 ,
Thanks for the reply. I've added the code where you said (although I don't have product-card, but card-product), and nothing happens as you can see from screenshot below. I don't want to bother you if there isn't an easy fix.
@DušanMijušković Do not worry,
You have to just replace the SKU code snippet.
Here the right one:
<div class="product-sku h5">{{ card_product.first_available_variant.sku | default: card_product.variants[0].sku }}</div>
@Sasha2 That did it! Thank you very much!
I'm trying to have the SKU update when a new variant is selected on the collection page. Is this easy to do?
EDIT: Changed product page to collection page
Hi all,
im using SUPPLY theme and having same issue, can you offer advice where i can add code to show SKU on my collection page
many thanks in advance
Hi @mrscsmith,
For the Supply theme, it is enough to place the code
<div class="product-item--vendor">{{ product.first_available_variant.sku | default: product.variants[0].sku }}</div>
In the "product-grid-item.liquid" snippet right before the {{ product.title }} block:
Hi Sasha-
I am trying to do this same thing with the Empire theme. I only have a file thats called product.liquid. Do you have a solution for that theme?
Hi @shealyneogno,
Oh, as a third-party developer, I do not have access to any paid Shopify theme.
Kindly contact theme support to clarify, how called a Product snippet file of your Collection pages in the Theme code.
Once you have a Snippet name, you are ready to provide changes:
1. Open the Theme code editor.
2. Find your Product snippet file in the "Snippets" folder.
3. In the code of the Product snippet file, find the element:
</h2>
After this element, place the next one code:
<div class="productitem--sku" style="margin-top: 5px; font-size: 90%;">SKU: {{ product.first_available_variant.sku | default: product.variants[0].sku }}</div>
If it doesn't work, kindly share with me a screenshot of the Product snippet file code.
As 2024 wraps up, the dropshipping landscape is already shifting towards 2025's trends....
By JasonH Nov 27, 2024Hey Community! It’s time to share some appreciation and celebrate what we have accomplis...
By JasonH Nov 14, 2024In today’s interview, we sat down with @BSS-Commerce to discuss practical strategies f...
By JasonH Nov 13, 2024