Liquid、JavaScriptなどに関する質問
product reviews にてレビュー機能を実装しています。
購入者のみレビューを記入できる様にしたいのですが、どうすればいいのでしょうか?
よろしくお願いいたします。
解決済! ベストソリューションを見る。
成功
現状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>
購入履歴に閲覧中の商品が存在しない場合、レビュー投稿のボタンが非表示になります。
ご参考になりましたら幸いです。
成功
現状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>
購入履歴に閲覧中の商品が存在しない場合、レビュー投稿のボタンが非表示になります。
ご参考になりましたら幸いです。
ありがとうございます!
助かりました!
とても感謝しています!
構築を進めていきます!
サポートの選択肢が増えていく中、最適となる選択の判断が難しくなっているかと存じます。今回は問題の解決に最適となるサポートの選択方法を、紹介させて頂きます。 選択肢のご紹介...
By Mirai Oct 7, 20242023年初頭、Shopifyペイメントアカウント、及びShopifyアカウント全体のセキュリティを強化する為の変更が適用されました。ユーザーのアカウントセキュリティを強化す...
By Mirai Sep 30, 2024概要: 年末/年明けは、消費者が最もショッピングを行う時期の一つです。特に、ブラックフライデー・サイバーマンデー(BFCM)は、世界中で注目される大規模なセールイベントであ...
By JapanGuru Sep 25, 2024