Product varients not changing price

Angie_Billingto
New Member
7 0 0

Hi,

Our varients have stopped changing prices. I've tried a different template and it works fine, so it must be our template files, but i can't find where!

Our website is: www.taclight.co.uk

Please can someone help?

Thansk,

Angie

0 Likes

Can you please link a product page where you have the problem describe it with a screenshot?

• If the problem is solved remember to click ✅ to Accept Solution
• Press Like, if the answer was helpful
• Shopify/Shopify Plus custom development, optimization and consulting. You can hire me here.
0 Likes
Angie_Billingto
New Member
7 0 0

Screenshot 2020-10-01 at 13.14.01.png

0 Likes

Could be that some JavaScript problems related to Currency conversion broke the behavior.

 

gsci-pbs-14?_pos=1&_sid=096329d37&_ss=r&variant=31569045913688:formatted:3810 Uncaught TypeError: Currency.convertAll is not a function
    at Shopify.OptionSelectors.selectCallback [as onVariantSelected] (gsci-pbs-14?_pos=1&_sid=096329d37&_ss=r&variant=31569045913688:formatted:3810)
    at Shopify.OptionSelectors.updateSelectors (VM686 option_selection-fe6b72c2bbdd3369ac0bfefe8648e3c889efca213baefd4cfb0dd9363563831f.js:1)
    at HTMLSelectElement.element.onchange (VM686 option_selection-fe6b72c2bbdd3369ac0bfefe8648e3c889efca213baefd4cfb0dd9363563831f.js:1)
    at Object.trigger (jquery.min.js:2)
    at HTMLSelectElement.<anonymous> (jquery.min.js:2)
    at Function.each (jquery.min.js:2)
    at init.each (jquery.min.js:2)
    at init.trigger (jquery.min.js:2)
    at HTMLInputElement.<anonymous> (minimart.js?v=1926962777627299908:25)
    at HTMLInputElement.dispatch (jquery.min.js:2)

 

 

The convertAll method is not defined for the object Currency.

The theme expects to use the Currency object from JS file jquery.currencies.min.js but that doesn't work if the Currency variable was defined before this JS inclusion.

You need to modify the code of your Footer scripts, and try to comment the inclusion of JS file currencies.j and check it it solves.

 

 

• If the problem is solved remember to click ✅ to Accept Solution
• Press Like, if the answer was helpful
• Shopify/Shopify Plus custom development, optimization and consulting. You can hire me here.
0 Likes
Angie_Billingto
New Member
7 0 0

Hi,

I've checked my footer_scripts.liquid file and there is no mention of currencies.j .

This is my footer_Scripts.liquid file:

<!-- Footer scripts -->
{{ 'bootstrap.min.js' | asset_url | script_tag }}
{{ 'api.jquery.js' | shopify_asset_url | script_tag }}
{{ 'option_selection.js' | shopify_asset_url | script_tag }}
{{ 'owl.carousel.min.js' | asset_url | script_tag }}
{{ 'jquery.jcarousel.latest.min.js' | asset_url | script_tag }}
{{ 'jquery.elevateZoom-3.0.8.min.js' | asset_url | script_tag }}
{{ 'jquery.fancybox.pack.js' | asset_url | script_tag }}
{{ 'jquery.fakecrop.js' | asset_url | script_tag }}
{{ 'jquery.nicescroll.min.js' | asset_url | script_tag }}
{{ 'jquery.countdown.min.js' | asset_url | script_tag }}
{% include 'new-currency' %}
{{ 'jquery.history.js' | asset_url | script_tag }}
{{ 'jquery.mmenu.min.all.js' | asset_url | script_tag }}
{{ 'minimart.js' | asset_url | script_tag }}

{% if settings.enable_lazy_loading_pc or settings.enable_lazy_loading_mobile %}
{{ 'wow.min.js' | asset_url | script_tag }}
{% endif %}

<script>
function isMobileFunc() {
var userAgent = navigator.userAgent.toLowerCase();
var phone = (/iphone|android|ipod|blackberry|opera mini|opera mobi|skyfire|maemo|windows phone|palm|iemobile|symbian|symbianos|fennec/i.test(userAgent));
var tablet = (/ipad|sch-i800|playbook|tablet|kindle|gt-p1000|sgh-t849|shw-m180s|a510|a511|a100|dell streak|silk/i.test(userAgent));
return phone || tablet;
}
var enable_lazy_loading_pc = {{settings.enable_lazy_loading_pc}};
var enable_lazy_loading_mobile = {{settings.enable_lazy_loading_mobile}};
var isMobile = isMobileFunc();

if ((enable_lazy_loading_pc && !isMobile) || (enable_lazy_loading_mobile && isMobile)) {
new WOW().init({offset:50});
}

if (isMobile) {
var currentEl;
jQuery('.site-nav .dropdown > a').bind('click', function(event) {
if (currentEl != this) {
event.preventDefault();
currentEl = this;
}
});

jQuery('.nav-bar > a').click(function() {
//jQuery('.site-nav').toggle();
if (jQuery('.nav-bar').hasClass('click')) {
jQuery('.site-nav').hide();
jQuery('.nav-bar').removeClass('click');
} else {
jQuery('.site-nav').show();
jQuery('.nav-bar').addClass('click');
}
});
}
</script>

0 Likes
Angie_Billingto
New Member
7 0 0

Hi,

I've been looking around the code (i'm not a developer!)... in the file new-currency.liquid i have commented out the line:

{{ "//cdn.shopify.com/s/javascripts/currencies.js" | script_tag }}

The price now changes, but the varient name in the address bar does not. The real problem we have is that we have an app that uses the varient name in order to trigger a pre-order button, but it's not working on our website because the varient name isn't changing. I presumed this and the price change were the same problem. Maybe not?

The plot thickens!!

0 Likes

Hi Angie, 

that's could be complicated to solve here, because when there are apps involved I need to check their JS implementation and make it compatible with the them.

Maybe you can try to send a support requested to the app developers, usually they are happy to help to fix the code and make the app running properly in the shop.

• If the problem is solved remember to click ✅ to Accept Solution
• Press Like, if the answer was helpful
• Shopify/Shopify Plus custom development, optimization and consulting. You can hire me here.
0 Likes