FROM CACHE - jp_header
解決済

購入者のみレビューを記入できる様にしたい

nanchoro
Shopify Partner
30 1 4

product reviews にてレビュー機能を実装しています。

購入者のみレビューを記入できる様にしたいのですが、どうすればいいのでしょうか?

よろしくお願いいたします。

1 件の受理された解決策

KOICHI_KAMIZURU
Shopify Partner
56 21 62

成功

現状product reviewsにそのような機能は実装されていないようですが、JavaScriptで無理やり実現してみました。

 

以下のコードをproduct reviewsのタグを挿入しているファイル(例としてDebutテーマのproduct-template.liquid)の先頭に追加後、保存をお願いします。

※正攻法ではない為product reviewsの仕様が変わった場合などに動作しなくなる可能性があります

 

<script>
  document.addEventListener('DOMContentLoaded', function() {
    const config = { 
      childList : true
    };
    const target = document.getElementById('shopify-product-reviews')
    const observer = new MutationObserver(records => {
      observer.disconnect();
      let actions = document.getElementsByClassName('spr-summary-actions');
      {% assign match = false %}
      {% for order in customer.orders %}
        {% for line_item in order.line_items %}
          {% if line_item.product_id == product.id %}
      		{% assign match = true %}
            {% break %}
          {% endif %}
        {% endfor %}
      	{% if match %}
          {% break %}
        {% endif %}
      {% endfor %}
      
      {% if match == false %}
      actions[0].innerHTML = '';
      {% endif %}
      observer.observe(target, config);
    })

    observer.observe(target, config)
  });
</script>

 

購入履歴に閲覧中の商品が存在しない場合、レビュー投稿のボタンが非表示になります。

 

ご参考になりましたら幸いです。

上水流 弘一 (Kamizuru Koichi)
アプリ開発、テーマのカスタマイズ承っております。
お気軽にご相談ください。

元の投稿で解決策を見る

2件の返信2

KOICHI_KAMIZURU
Shopify Partner
56 21 62

成功

現状product reviewsにそのような機能は実装されていないようですが、JavaScriptで無理やり実現してみました。

 

以下のコードをproduct reviewsのタグを挿入しているファイル(例としてDebutテーマのproduct-template.liquid)の先頭に追加後、保存をお願いします。

※正攻法ではない為product reviewsの仕様が変わった場合などに動作しなくなる可能性があります

 

<script>
  document.addEventListener('DOMContentLoaded', function() {
    const config = { 
      childList : true
    };
    const target = document.getElementById('shopify-product-reviews')
    const observer = new MutationObserver(records => {
      observer.disconnect();
      let actions = document.getElementsByClassName('spr-summary-actions');
      {% assign match = false %}
      {% for order in customer.orders %}
        {% for line_item in order.line_items %}
          {% if line_item.product_id == product.id %}
      		{% assign match = true %}
            {% break %}
          {% endif %}
        {% endfor %}
      	{% if match %}
          {% break %}
        {% endif %}
      {% endfor %}
      
      {% if match == false %}
      actions[0].innerHTML = '';
      {% endif %}
      observer.observe(target, config);
    })

    observer.observe(target, config)
  });
</script>

 

購入履歴に閲覧中の商品が存在しない場合、レビュー投稿のボタンが非表示になります。

 

ご参考になりましたら幸いです。

上水流 弘一 (Kamizuru Koichi)
アプリ開発、テーマのカスタマイズ承っております。
お気軽にご相談ください。
nanchoro
Shopify Partner
30 1 4

ありがとうございます!

助かりました!
とても感謝しています!

構築を進めていきます!