Last active
April 28, 2020 16:53
-
-
Save dylanjhunt/25b32d213d6d8075fedaac36f27db95d to your computer and use it in GitHub Desktop.
Show all products as separate variants on the collection page of the Debut Theme
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| {% comment %} | |
| Renders a product card using "Grid" style | |
| Accepts: | |
| - max_height: {Number} Maximum height of the product's image (required) | |
| - product: {Object} Product Liquid object (required) | |
| - show_vendor: {Boolean} Show the product's vendor depending on the section setting (optional) | |
| Usage: | |
| {% include 'product-card-grid', max_height: max_height, product: product, show_vendor: section.settings.show_vendor %} | |
| {% endcomment %} | |
| <div class="grid-view-item{% unless product.available %} grid-view-item--sold-out{% endunless %} product-card"> | |
| <a class="grid-view-item__link grid-view-item__image-container full-width-link" href="{{ variant.url | within: collection }}"> | |
| <span class="visually-hidden">{{ product.title }}</span> | |
| </a> | |
| {% capture img_id %}ProductCardImage-{{ section.id }}-{{ product.id }}{% endcapture %} | |
| {% capture wrapper_id %}ProductCardImageWrapper-{{ section.id }}-{{ product.id }}{% endcapture %} | |
| {%- assign preview_image = variant.image -%} | |
| {%- assign img_url = preview_image | img_url: '1x1' | replace: '_1x1.', '_{width}x.' -%} | |
| {% unless preview_image == blank %} | |
| {% include 'image-style', image: preview_image, height: max_height, wrapper_id: wrapper_id, img_id: img_id %} | |
| {% endunless %} | |
| <div class="product-card__image-with-placeholder-wrapper" data-image-with-placeholder-wrapper> | |
| <div id="{{ wrapper_id }}" class="grid-view-item__image-wrapper product-card__image-wrapper js"> | |
| <div style="padding-top:{% unless preview_image == blank %}{{ 1 | divided_by: preview_image.aspect_ratio | times: 100 }}%{% else %}100%{% endunless %};"> | |
| <img id="{{ img_id }}" | |
| class="grid-view-item__image lazyload" | |
| alt="{{ preview_image.alt }}" | |
| data-src="{{ img_url }}" | |
| data-widths="[180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048]" | |
| data-aspectratio="{{ preview_image.aspect_ratio }}" | |
| data-sizes="auto" | |
| data-image> | |
| </div> | |
| </div> | |
| <div class="placeholder-background placeholder-background--animation" data-image-placeholder></div> | |
| </div> | |
| <noscript> | |
| {% capture image_size %}{{ max_height }}x{{ max_height }}{% endcapture %} | |
| <img class="grid-view-item__image" src="{{ preview_image | img_url: image_size, scale: 2 }}" alt="{{ preview_image.alt }}" style="max-width: {{ max_height | times: preview_image.aspect_ratio }}px;"> | |
| </noscript> | |
| <div class="h4 grid-view-item__title product-card__title" aria-hidden="true">{{ product.title }} - {{ variant.option1 }}</div> | |
| {% include 'product-price-listing', product: variant, show_vendor: show_vendor %} | |
| </div> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment