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>
購入履歴に閲覧中の商品が存在しない場合、レビュー投稿のボタンが非表示になります。
ご参考になりましたら幸いです。
ありがとうございます!
助かりました!
とても感謝しています!
構築を進めていきます!
リエンゲージメントの自動化で売り上げ向上へ!素敵なオンラインストアを作成し、見込み顧客の携帯へ広告を直接に送信する、またはSNSなどで宣伝すると、お客様がストアに行き着...
By Mirai Mar 24, 2024Shopifyは世界で最も革新的なブランドと起業家をサポートしています。個人起業家やあらゆる規模のビジネスの成長を後押しするために、Shopify アカデミーではShopif...
By SarahF_Shopify Mar 22, 2024オンラインストア運営はとてもやりがいのある活動です。新しい注文が入った時の喜びや世界中のお客様とやりとりできる可能性、商品に対して最高のレビューをもらった時の満足感は、毎日の...
By Mina Mar 13, 2024