Jump to content

KenSalter

Member
  • Posts

    6
  • Joined

  • Last visited

Everything posted by KenSalter

  1. Ah, ok I'll keep that in mind. Didn't know if we were allowed to use CDN links or not, but since I don't need jQuery then I'll not include the extra scripts. Thanks for the suggestion and info! The last version of the code is working quite well, and it will keep everything looking "complete" until I can come around and manually delete the products.
  2. Ok last post, here is the final version of my code, where it ghosts the item and changes the link: <script type="text/javascript"> window.addEventListener('DOMContentLoaded', (event) => { var elements = document.getElementsByClassName('grid-item'); for (var i = 0; i < elements.length; i++) { var ele = elements[i]; if (ele.className.includes('tag-expire')) { var classes = ele.className.split(' '); for (var j = 0; j < classes.length; j++) { if (classes[j].includes('tag-expire')) { var expireDate = new Date(classes[j].substring(10)); if (expireDate <= Date.now()) { ele.style.opacity = '0.2'; // get second child node, which is the <a></a> var a = ele.childNodes[1]; // get rid of the href and add an onclick a.removeAttribute('href'); a.setAttribute('onclick','alert("This product is no longer available.");'); } } } } } }); </script>
  3. So here is my code if anyone is interested. I put it in the store's page injection code. The tag I put on the products is "expireYYYY-MM-DD" where YYYY is the year, MM is the month, and DD is the day. <script type="text/javascript"> window.addEventListener('DOMContentLoaded', (event) => { var elements = document.getElementsByClassName('grid-item'); for (var i = 0; i < elements.length; i++) { var ele = elements[i]; if (ele.className.includes('tag-expire')) { var classes = ele.className.split(' '); for (var j = 0; j < classes.length; j++) { if (classes[j].includes('tag-expire')) { var expireDate = new Date(classes[j].substring(10)); if (expireDate <= Date.now()) { ele.style.visibility = "hidden"; } } } } } }); </script> The only complaint I would have is that it makes the grid of products look like it has holes in it, so perhaps I can enhance this by "ghosting" the product and disabling clicks on it...will have to investigate.
  4. Did a quick test - so the tags are added as a class, which should make this easy, especially if jQuery is involved...but I don't think I have that luxury 🙂 Thanks for the suggestion!
  5. Actually, yes that would work I think. I didn't even think about using script. Do you know if SquareSpace has jQuery or momentjs, or is it just pure ol' javascript?
  6. Hi! I was wondering if there was anyway to have products "disappear" from a store after they are x days old or after a certain date? I see there is an option to schedule products to appear at a certain date, so I was hoping the opposite is true.
×
×
  • Create New...

Squarespace Webinars

Free online sessions where you’ll learn the basics and refine your Squarespace skills.

Hire a Designer

Stand out online with the help of an experienced designer or developer.