본문 바로가기
프론트앤드/Shopify

[Shopify] story theme 상품목록에 Add to cart 버튼 추가

by 헬리이 2024. 1. 8.

shopify에 많은 테마가 있는데 그중에서도 유료테마인 Story를 사용하고있다. 

이커머스 사이트면 Add to cart버튼이 어디든 존재해서 고객을 어서빨리 구매전환을 시켜야하는데, 해당 테마에서 해당 기능을 찾을 수 없어서 story theme 고객센터에 문의한 결과, 현재 story theme에서는 상품목록에 장바구니 버튼을 제공하고 있지 않다고 함 🥲

많은 여정 끝에 괜찮은 사료를 찾게 되었고, Finally 상품 목록에 Add to Cart 버튼을 추가하게 되었습니다. 🎉

 

https://youtu.be/fxk51sRZs38?si=m_8mY7VBQ_e5R63K

위 영상을 참고하였고, 해당 영상은 1년전 업로드되었기도 하며 다른 theme의 예시라, 현재 쓰고있는 story의 코드와는 다소 다릅니다.

해당영상은 참고만 하였고, 영상에서 알려준 블로그

https://mrdigitals.com/how-to-add-add-to-cart-button-on-my-collection-page/ 를 참고하여, 코드는 참고하였으나, 알려주는 위치가 아니라, uuuuu공식 홈페이지의 상품리스트 코드가 있는 Product-grid-item.liquid 파일을 찾아서 코드를 추가 하였습니다.

<설명>

Edit code → Snippets → Product-grid-item.liquid 아래 코드 추가

 <form method="post" action="/cart/add">
      <input type="hidden" name="id" value="{{ product.variants.first.id }}" />
      <input min="1" type="hidden" id="quantity" name="quantity" value="1"/>
      <input type="submit" value="Add to cart" class="btn" />
      </form> 

**넣을 때 <div>태그 위치 잘 확인 후 넣기

→ 처음에 위치를 <div class="grid__caption {{ align_text }}"> </div>안에 했더니, Add to cart를 눌러도 상세페이지로 이동하는 불상사가 발생했었습니다 😅

그래서 위 div태그 밖인 <div class="grid__item {{ grid_strings }}{% if on_sale %} on-sale{% endif %}{% if tagged %} tagged{% endif %}"> 해당 태그 안에 위의 코드를 추가하니 정상작동 했습니다 🙂

 


+ 추가적으로, default가 영어이다보니, 언어를 한국어로 설정해도, cart페이지에서는 영어로 보이는문제가 발생

-> url에 ko가 들어가있는지 확인 후, action을 ko/cart/add 로 조건문을 써서 해결 !

//해당 코드 추가
{% if request.path contains '/ko' %}
  <script>
    document.addEventListener('DOMContentLoaded', function () {
      var form = document.querySelector('form[action="/cart/add"]');
      form.action = '/ko/cart/add';
    });
  </script>
{% endif %}

끗!

'프론트앤드 > Shopify' 카테고리의 다른 글

[javascript] 404.liquid 에서 리디렉션  (0) 2023.09.10
[JavaScript]  (0) 2023.09.09
[JSON Template] 404-template Designing (1-3)  (0) 2023.08.27
[JSON Template] 404-template schema (1-2)  (0) 2023.08.26
[JSON Templates] 404 template  (0) 2023.08.26