Estoy buscando una solución para cambiar la moneda según la URL.
Para puroxx.net, me gustaría establecer GBP como moneda. Para nl.puroxx.net, me gustaría establecer EUR como moneda.
Esto es lo que tengo hasta ahora:
if(window.location.host == 'nl.puroxx.net'){ $("#localization_form").val('NL'); $("#localization_form").change(); } else { $("#localization_form").val('GB'); $("#localization_form").change(); }Y en el pie de página del sitio agregué:
{% form 'localization' %} <select name="country_code"> {% for country in localization.available_countries %} <option value="{{ country.iso_code }}" {%- if country == localization.country %} selected="selected"{% endif %}> {{ country.name }} ({{ country.iso_code }}) - {{ country.currency.symbol }} </option> {% endfor %} </select> {% endform %}También agregó:
$('.shopify-localization-form select').on('change', function() { $(this) .parents('form') .submit(); });¿Qué me estoy perdiendo? ¡Gracias!
Intente actualizar el código JS de la siguiente manera:
if (window.location.host == 'nl.puroxx.net') { if ($('#localization_form [name=country_code]').val() != 'NL') { $("#localization_form [name=country_code]").val('NL'); $("#localization_form").submit(); } } else { if ($('#localization_form [name=country_code]').val() != 'GB') { $("#localization_form [name=country_code]").val('GB'); $("#localization_form").submit(); } } $('#localization_form [name=country_code]').on('change', function() { $('#localization_form').submit(); });Intenta optimizar el código. Ref: https://shopify.dev/themes/internationalization/multiple-currencies-languages#javascript-submission-of-the-localization-form
Aquí está el código de trabajo:
$('.shopify-localization-form select').on('change', function() { $(this) .parents('form') .submit(); }); if(window.location.host == 'nl.puroxx.net'){ if($('#localization_form [name=country_code]').val() != 'NL') { $("#localization_form [name=country_code]").val('NL'); $("#localization_form").submit(); } } else { if($('#localization_form [name=country_code]').val() != 'GB') { $("#localization_form [name=country_code]").val('GB'); $("#localization_form").submit(); } }