What would cause the javascript for the related items carousel to not fire for some products? This is one of the darnest things I've seen. I'm checking for broken code in the product description and I'm not finding any. The products all use the same PROD page template but for some of them the carousel slick-initialized slick-slider is not initializing. What heck is going on?
Announcement
Collapse
No announcement yet.
Related Products carousel work for some products
Collapse
X
-
Related Products carousel work for some products
Leslie Kirk
Miva Certified Developer
Miva Merchant Specialist since 1997
Previously of Webs Your Way (aka Leslie Nord leslienord)
Email me: [email protected]
www.lesliekirk.com
Follow me: Twitter | Facebook | FourSquare | Pinterest | Flickr
Tags: None
-
Yeah, I suppose...Originally posted by Rick Wilson View PostWithout a link, my guess is you won't get a lot of help
Non-working carousel link http://www.calendarcompany.com/calendar-I17_MOM.html
Working carousel link http://www.calendarcompany.com/calendar-W15.html
Please note it has nothing to do with the number of product assigned as related items. I have already tested that theory.Leslie Kirk
Miva Certified Developer
Miva Merchant Specialist since 1997
Previously of Webs Your Way (aka Leslie Nord leslienord)
Email me: [email protected]
www.lesliekirk.com
Follow me: Twitter | Facebook | FourSquare | Pinterest | Flickr
Comment
-
Looks like double quotes in the name break the HTML.Andreas Toman
PCINET, LLC
Miva Merchant Design, Development, Integration & Support
We built over 200 Miva Merchant stores!
Miva shopping cart design & integration service and see our Portfolio!
e-mail: [email protected]
web: www.pcinet.com
LinkedIn: Andreas Toman
phone: (786) 250-2056 (Miami, FL)
Comment
-
I had seen that I tried testing without the title in Related Products, but I don't think I was thorough enough. I have an idea to try. Thanks Andreas!Originally posted by PCINET - Andreas View PostLooks like double quotes in the name break the HTML.
Leslie Kirk
Miva Certified Developer
Miva Merchant Specialist since 1997
Previously of Webs Your Way (aka Leslie Nord leslienord)
Email me: [email protected]
www.lesliekirk.com
Follow me: Twitter | Facebook | FourSquare | Pinterest | Flickr
Comment
-
Sooooo...I fixed what I thought needed to be fixed but it didn't fix the problemOriginally posted by lesliekirk View PostI had seen that I tried testing without the title in Related Products, but I don't think I was thorough enough. I have an idea to try. Thanks Andreas!
Leslie Kirk
Miva Certified Developer
Miva Merchant Specialist since 1997
Previously of Webs Your Way (aka Leslie Nord leslienord)
Email me: [email protected]
www.lesliekirk.com
Follow me: Twitter | Facebook | FourSquare | Pinterest | Flickr
Comment
-
I'm hoping what ever might be breaking the Related Products layout, is also the reason why the plus and minus won't increase or decrease the quantity. At first I thought it might be something in the attributes them self but I switched to a different template and the plus and minus worked as expected.Leslie Kirk
Miva Certified Developer
Miva Merchant Specialist since 1997
Previously of Webs Your Way (aka Leslie Nord leslienord)
Email me: [email protected]
www.lesliekirk.com
Follow me: Twitter | Facebook | FourSquare | Pinterest | Flickr
Comment
-
Which is also controlled by the script.js file - okay this is officially maddening. I have been going through this entire thing over and over again since this morning. There is a javascript error that Firebug is reporting (only on the broken page):Originally posted by lesliekirk View PostI'm hoping what ever might be breaking the Related Products layout, is also the reason why the plus and minus won't increase or decrease the quantity. At first I thought it might be something in the attributes them self but I switched to a different template and the plus and minus worked as expected.
TypeError: document.getElementById(...) is null
But what would cause this?!?Code:// ---- Update Display Price Based on Attribute Selections (If Attribute Machine Is Not Being Used) ---- // if (typeof attrMachCall === 'undefined' && document.getElementById('js-product-attribute-count').value > 0) { for(var baseProductPrice=Number(document.getElementById("js-price-value").getAttribute("data-base-price")),regularProductPrice=Number(),productAttributeCount=Number(document.getElementById("js-product-attribute-count").value+1),productAttributes=document.getElementById("js-purchase-product").elements,attributeType=[""],i=0;i<productAttributes.length;i++){var tagName=productAttributes[i].tagName.toLowerCase(),elementType=productAttributes[i].type,type=productAttributes[i].getAttribute("data-attribute-type"), name=productAttributes[i].name;"hidden"==elementType&&null!=type&&attributeType.push(type);productAttributes[i].onchange=function(){updateProductDisplayPrice()}} function updateProductDisplayPrice(){for(var b,a,c=baseProductPrice,f=regularProductPrice,d=1;d<productAttributeCount;d++)if(b=document.getElementsByName("Product_Attributes["+d+"]:value"),"select"==attributeType[d])for(var e=0;e<b.length;e++)a=b.item(e),a=a.options.item(a.selectedIndex),c+=Number(a.getAttribute("data-option-price")),f+=Number(a.getAttribute("data-regular-price"));else if("radio"==attributeType[d]||"checkbox"==attributeType[d])for(e=0;e<b.length;e++)a=b.item(e),a.checked&&(c+=Number(a.getAttribute("data-option-price")), f+=Number(a.getAttribute("data-regular-price")));else if("text"==attributeType[d]||"memo"==attributeType[d])a=b.item(0),a.value&&(c+=Number(a.getAttribute("data-option-price")),f+=Number(a.getAttribute("data-regular-price")));b=document.getElementsByName("Quantity");c*=Number(b.item(0).value);b.item(0);document.getElementById("js-price-value").innerHTML=formatCurrency(c);document.getElementById("js-mobile-price-value")&&(document.getElementById("js-mobile-price-value").innerHTML=formatCurrency(c))} function formatCurrency(b){var a=!1;0>b&&(a=!0,b=Math.abs(b));return(a?"-$":"$")+parseFloat(b,10).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g,"$1,").toString()}updateProductDisplayPrice(); };
Leslie Kirk
Miva Certified Developer
Miva Merchant Specialist since 1997
Previously of Webs Your Way (aka Leslie Nord leslienord)
Email me: [email protected]
www.lesliekirk.com
Follow me: Twitter | Facebook | FourSquare | Pinterest | Flickr
Comment
-
I'd bet its this error:
scripts.js:522 Uncaught TypeError: Cannot read property 'getAttribute' of null
Seems like whatever triggers the Change Price Based on Attribute selection needs to be wrapped in 'Has Attributes'
ANY Javascript error, can cause any following javascript error to fails completely as the javascript parser just 'goes away' HTHBruce Golub
Phosphor Media - "Your Success is our Business"
Improve Your Customer Service | Get MORE Customers | Edit CSS/Javascript/HTML Easily | Make Your Site Faster | Get Indexed by Google | Free Modules | Follow Us on Facebook
phosphormedia.com
Comment
-
While it makes sense, I'll have to look again at the template code that works and this code to see what's different. Off the top of my head - it's the same code, just put in a different place on the page.Originally posted by Bruce - PhosphorMedia View PostI'd bet its this error:
scripts.js:522 Uncaught TypeError: Cannot read property 'getAttribute' of null
Seems like whatever triggers the Change Price Based on Attribute selection needs to be wrapped in 'Has Attributes'
ANY Javascript error, can cause any following javascript error to fails completely as the javascript parser just 'goes away' HTH
Leslie Kirk
Miva Certified Developer
Miva Merchant Specialist since 1997
Previously of Webs Your Way (aka Leslie Nord leslienord)
Email me: [email protected]
www.lesliekirk.com
Follow me: Twitter | Facebook | FourSquare | Pinterest | Flickr
Comment
-
So I'm even more confused. The example that works has an attribute, the one that doesn't work doesn't have any attributes. So I went to see if this template is being use with a product that has attributes and doesn't work. I found this one http://www.calendarcompany.com/calendar-TY12.html. I think I'd better walk away from it...Leslie Kirk
Miva Certified Developer
Miva Merchant Specialist since 1997
Previously of Webs Your Way (aka Leslie Nord leslienord)
Email me: [email protected]
www.lesliekirk.com
Follow me: Twitter | Facebook | FourSquare | Pinterest | Flickr
Comment
-
The getAttribute call is JavaScript and is referring to html element attributes rather than Merchant product attributes. Essentially it is looking for an element with the ID of js-price-value and then trying to get a reference to the data-base-price attribute of that element. If the attribute data-base-price does not exist, you get this error.Originally posted by lesliekirk View PostSo I'm even more confused. The example that works has an attribute, the one that doesn't work doesn't have any attributes. So I went to see if this template is being use with a product that has attributes and doesn't work. I found this one http://www.calendarcompany.com/calendar-TY12.html. I think I'd better walk away from it...
Gordon Currie
Phosphor Media - "Your Success is our Business"
Improve Your Customer Service | Get MORE Customers | Edit Any Document Easily | Free Modules | Follow Us on Facebook
phosphormedia.com
Comment
-
Hats off to Brennan, he pointed me into the direction that I needed to find and comment out within the script.js file. Everything works again
Leslie Kirk
Miva Certified Developer
Miva Merchant Specialist since 1997
Previously of Webs Your Way (aka Leslie Nord leslienord)
Email me: [email protected]
www.lesliekirk.com
Follow me: Twitter | Facebook | FourSquare | Pinterest | Flickr
Comment
-
Leslie, can you be a little more specific how you resolved the problem? I suspect I'm going to run into the same thing shortly.Originally posted by lesliekirk View PostHats off to Brennan, he pointed me into the direction that I needed to find and comment out within the script.js file. Everything works again
Thank you, Bill Davis
Comment
-
Turns out if was a bit more complex than anticipated. Sort of like squeezing a balloon, making a change in one place impacted other things. I had to uncomment the line I commented out, then I had to make sure I still had the default ID of js-price-value as Gordon pointed out. After that I had some issues with the Add to Cart button which, again, Brennan noticed the issue with.Leslie Kirk
Miva Certified Developer
Miva Merchant Specialist since 1997
Previously of Webs Your Way (aka Leslie Nord leslienord)
Email me: [email protected]
www.lesliekirk.com
Follow me: Twitter | Facebook | FourSquare | Pinterest | Flickr
Comment
Comment