제품 페이지에 제품 권장 사항 표시

이 튜토리얼에서는 Debut 테마에서 제품 페이지에 제품 권장 사항을 추가하는 방법에 대해 설명합니다. 제품 권장 사항이 작동하는 방식에 대한 자세한 내용은 제품 페이지의 제품 권장 사항 보기를 확인하십시오.

1단계: product-recommendations.liquid 섹션 생성

2단계: product.liquid 템플릿에 섹션 포함

제품 페이지 하단에 제품 권장 사항을 표시하려면, templates/product.liquid 파일 맨 아래에 섹션을 포함합니다.

  1. 템플릿 디렉토리에서 product.liquid 파일을 엽니다.
  2. 파일 맨 아래에 다음 코드를 추가합니다.
{% section 'product-recommendations' %}
  1. 저장을 클릭합니다.

3단계: theme.js 파일을 편집하여 권장 사항을 비동기적으로 로드

제품 페이지에서 섹션이 생성한 빈 컨테이너에 권장 사항을 로드해야 합니다. JavaScript를 사용하여 <base_url>?section_id=<section_id>&product_id=<product_id>에 HTTP GET 요청을 합니다.

  1. 자산 디렉토리에서 them.js 파일을 엽니다.
  2. 이 코드 행을 찾습니다.
sections.register('hero-section', theme.HeroSection);
  1. 해당 행 아래에 이 코드를 추가합니다.
sections.register('product-recommendations', theme.ProductRecommendations);
  1. 파일 맨 아래에 다음 코드를 추가합니다.
theme.ProductRecommendations = (function() {
  function ProductRecommendations(container) {
    var $container = (this.$container = $(container));
    var baseUrl = $container.data('baseUrl');
    var productId = $container.data('productId');
    var limit = $container.data('limit');
    var intent = $container.data('intent');
    var productRecommendationsUrlAndContainerClass = baseUrl + '?section_id=product-recommendations&limit=' + limit +
      '&product_id=' + productId + '&intent='+ intent +
      ' .product-recommendations';
    $container.parent().load(productRecommendationsUrlAndContainerClass);
  }
  return ProductRecommendations;
})();
  1. 저장을 클릭합니다.

4단계: theme.scss.liquid 파일을 편집하여 로딩 애니메이션 생성(선택 사항)

제품 권장 사항 섹션 내에서 로딩 애니메이션을 표시하는 코드 조각을 사용한 경우 assets/theme.scss.liquid 파일 맨 아래에 다음 코드를 추가합니다.

  1. 자산 디렉토리에서 theme.scss.liquid 파일을 엽니다.
  2. 파일 맨 아래에 다음 코드를 추가합니다.
.product-recommendations {
  padding-top: $section-spacing-small;
  padding-bottom: $section-spacing-small;

  @include media-query($medium-up) {
    padding-top: $section-spacing;
    padding-bottom: $section-spacing;
  }
}
.product-recommendations__loading-dots {
  height: 350px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.product-recommendations__loading-dot {
  animation: dot-keyframes 1.5s infinite ease-in-out;
  background-color: $color-text;
  border-radius: 10px;
  display: inline-block;
  height: 10px;
  width: 10px;
  margin: 0 3px;
  &:nth-child(2) {
    animation-delay: 0.5s;
  }
  &:nth-child(3) {
    animation-delay: 1s;
  }
}
@keyframes dot-keyframes {
  0% {
    opacity: 0.4;
    transform: scale(1, 1);
  }
  50% {
    opacity: 1;
    transform: scale(1.2, 1.2);
  }
  100% {
    opacity: 0.4;
    transform: scale(1, 1);
  }
}
  1. 저장을 클릭합니다.

Shopify와 함께 사업을 시작할 준비가 되셨습니까?

무료 체험