기록중

2021.07.15 오늘의 한일

lian_is_clone 2021. 7. 15. 18:46

지난 하루

14일 한일...

다시 런칭하는날

출근하자 마자 물량 확인하고 카운트다운 확인하고 결제방식 확인하고 대기

 

아니나 다를까 시간되도 30초 딜레이 

 

할 일이 생겼다. 카운트다운 위젯 다시 만들고 음....

어제 하루종일 뭐했지...물류팀에서 만들어준 프로그램에서 컬럼 하나 추가해달라고했고

특별상품 결제 시 회원만 구입 가능하게 만드는 기능 추가

이제 오늘 아침

카운트다운 마무리 

 

카트페이지에서 제품검사 및 로그인검사 하는 코드를 짯다.

liquid를 써서 그런지 좀 편한감도 있으면서 쉽게 작성했다.

 

리스트에 상품이 있는지 없는지 확인하는 변수

{%assign product = false%}

 

고객이 로그인되어있는가 확인하는 변수

{%assign customer = customer.has_account %}

customer.has_account는 고객이 로그인되어있음 true 아니면 false를 내보내는 것

요걸로 편하게 홈페이지 로그인확인을 할 수 있었다!!!

{% if cart.item_count > 0 %}

cart.item_count는 카트에 담겨있는 정보 갯수를 반환한다.

{% for item in cart.items %}

카트에 담겨있는 리스트를 포문으로 한개씩 가져와서

{% unless item.product.colections[0].title contains "collection name" %}

unless는 if의 반대로 사용하면 되고 이것만 아니면 실행해라 다른언어의 " ! "를 뜻하는 것

contains는 전행 문자에 후행 문자가 포함되어 있는지 확인하는 함수이다.

하나라도 나오면 검사를 안해도 되기때문에 이 실행은 종료하면 된다.

{% assign product = true %}
{% break %}

로 포문을 종료하였다.

 

이렇게 되면 조건은 완성되었다. 작성해보자

{% if product %} // 특정한 컬랙션을 제외한 상품이 있을경우 true 
  {% if customer %} // 로그인이 되어있는경우 true
    구매버튼 ON
  {% else %}
    주의 문구
  {% endif %}
{% else %} // 특정한 컬랙션만 있을경우
  구매버튼 ON
{% endif %}

이러면 처음 들어왔을때 검사를 하는것이고 

만약에 버튼을 눌렀을 때 이 확인을 하고 싶으면 또 버튼 api를 고쳐야지...하고 싶다...

 

이제 쇼피파이 엡을 만들고 싶은데 두렵다... 뭔가를 잘못만질것 같은 느낌

 

liquid 는 아직도 다양하게 써봐야겠다.

 

전체코드

<!-- /templates/cart.liquid -->

{% if cart.item_count > 0 %}

  {% assign product = false %}
  {% assign customers = customer.has_account %}
  
  {% for item in cart.items %}
    {% unless item.product.collections[0].title contains "collection name" %}
      {% assign product = true %}
      {% break %}
    {% endunless %}
  {% endfor %}
  
  {% if product %}
    {% if product %}
      구매버튼 ON
    {% else %}
      장바구니에 로그인이 필요한 제품이 포함되어 있습니다.
    {% endif %}
  {% else %}
    구매버튼 ON
  {% endif %}
  
{% endif %}

 

 

이제 뷰만드는 pagefly로 추가 엡