[object Object]

← back to Dw Contact Us Pages

product.liquid: render contact block directly below the image column (additive)

6660ec42ba2b9afdc59557d48e8f053997f16e34 · 2026-09-19 10:10:53 -0700 · Claude (TK-11925)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0163KBzeE1R39RSbxNmAjbki

Files touched

Diff

commit 6660ec42ba2b9afdc59557d48e8f053997f16e34
Author: Claude (TK-11925) <steve@designerwallcoverings.com>
Date:   Sat Sep 19 10:10:53 2026 -0700

    product.liquid: render contact block directly below the image column (additive)
    
    Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_0163KBzeE1R39RSbxNmAjbki
---
 theme/snippets/product.liquid | 112 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 112 insertions(+)

diff --git a/theme/snippets/product.liquid b/theme/snippets/product.liquid
new file mode 100644
index 0000000..9d5d182
--- /dev/null
+++ b/theme/snippets/product.liquid
@@ -0,0 +1,112 @@
+{%- comment -%}cache-bump 2026-08-03T16:43:43.170Z force PDP HTML regen for hero-freeze CSS{%- endcomment -%}
+{% assign use_masonry = false %}
+{% assign link_to = link_to | default: nil %}
+
+<script type="application/json" data-images>
+  {% assign product_images = product.media | where: 'media_type', 'image'  %}
+
+  {
+    {%- for media in product_images %}
+      {% if media.media_type == 'image' %}
+        {%- capture rimg_string -%}
+          {%
+            render 'rimg',
+            img: media,
+            attr: 'data-product-main-image',
+            size: '1400x',
+            lazy: false
+          %}
+        {%- endcapture -%}
+        "{{ media.id }}": {{ rimg_string | strip_newlines | json }}{%- unless forloop.last %},{%- endunless -%}
+      {% endif %}
+    {%- endfor -%}
+  }
+</script>
+
+{% assign product_id = product.id %}
+{% assign selected_variant = product.selected_or_first_available_variant %}
+
+{% if collection == null or collection.handle == 'frontpage' or collection.handle == 'all' %}
+  {% assign found_a_collection = false %}
+  {% for c in product.collections %}
+    {% if found_a_collection == false and c.handle != 'frontpage' and c.handle != 'all' %}
+      {% assign found_a_collection = true %}
+      {% assign collection = c %}
+    {% endif %}
+  {% endfor %}
+{% endif %}
+
+{% assign selected_media = selected_variant.featured_media | default: product.featured_media %}
+
+<div
+  class="
+    product
+    {% if images_layout == 'masonry' %}
+      product-masonry
+    {% endif %}
+  "
+  data-ajax
+
+  {% if enable_zoom %}
+    data-zoom
+  {% endif %}
+
+  {% if enable_linked_options %}
+    data-linked-options
+  {% endif %}
+
+  {% if images_layout == 'slideshow' %}
+    data-images-slideshow
+  {% elsif images_layout == 'list' %}
+    data-images-list-view
+  {% elsif images_layout == 'masonry' %}
+  {% assign use_masonry = true %}
+    data-product-masonry
+  {% endif %}
+>
+  {%
+    render 'product-gallery',
+    images_layout: images_layout,
+    use_masonry: use_masonry,
+    product: product,
+    selected_media: selected_media,
+    enable_zoom: enable_zoom,
+  %}
+
+  {%- comment -%} TK-11925: contact-us treatment. Renders the inquiry block directly BELOW the
+    image column for products on templates/product.contact-us.json (Designers Guild, Ralph
+    Lauren, Christian Lacroix Europe). The snippet self-gates on template.suffix too, so this
+    is a no-op on every other product. Purely additive. {%- endcomment -%}
+  {% if template.suffix == 'contact-us' %}{% render 'dw-contact-us-block', product: product %}{% endif %}
+
+  <div class="product-details-wrapper">
+    <div class="product-details">
+      {% if product.vendor == 'Newmor Wallcoverings' %}
+        <div data-product-form>
+          {% render 'product-form-content', product: product, form: nil, show_social_media_icons: show_social_media_icons, show_payment_button: false %}
+        </div>
+      {% elsif product != blank %}
+        {% form 'product', product, data-product-form: '' %}
+          {%
+            render 'product-form-content',
+            product: product,
+            form: form,
+            show_social_media_icons: show_social_media_icons,
+            show_payment_button: show_payment_button,
+          %}
+        {% endform %}
+      {% else %}
+        <div data-product-form>
+          {%
+            render 'product-form-content',
+            product: nil,
+            form: nil,
+            show_social_media_icons: show_social_media_icons,
+            show_payment_button: show_payment_button,
+          %}
+        </div>
+      {% endif %}
+    </div>
+    {% render 'product-description-meta' %}
+  </div>
+</div>

← 0158453 contact-us product template (no price/form blocks) + dw-cont  ·  back to Dw Contact Us Pages  ·  grid cards: Contact us for pricing on Boost + liquid card pa 6ea5f05 →