【実現したい事】
国によって販売可能な商品が違うため国選択のセレクトボックスを設置し、
ユーザーの選択した国によって表示する商品を切り替えたい
(例:商品A → 日本では表示するが、中国では表示しない)
【試した事】
❶あらかじめ商品毎に販売可能国のタグを登録(japan、chinaなど)
❷国選択ができるセレクトボックスを用意し、選択された値をlocalStorageに保存
<script type="text/javascript">
jQuery(function($){
$("#select-country").change(function(){
/* 選択値取得 */
var val = $('[name=country]').val();
/* localStorageに格納 */
localStorage.setItem('country', val);
country = localStorage.getItem('country');
/* ページリロード */
location.reload();
});
});
</script>
<select name="country" id="select-country">
<option value="japan">日本</option>
<option value="usa">アメリカ</option>
<option value="china">中国</option>
</select>
❷localStorageの値によって商品の表示非表示切り替え(ここがうまく出来ませんでした・・・)
{% for product in collections.all.products %}
<!-- 特定のタグを持っているかで分岐 -->
{% if product.tags contains '★' %}
{{ product.title }}
{% endif %}
{% endfor %}
★の部分にユーザーが選択した国情報のlocalStorage値を代入したいのですが可能でしょうか?
(javascripからLiquidに変数を渡すことが出来ればいいのですが、無理でした)
※機能が実装できるなら、localStorage・sessionStorageなどのWEBSTORAGEの種類は問いません。
またWEBSTORAGEでなくても別で実装できる方法があれば是非ご教授いただきたいです。