Решения для карточки товара Webasyst Shop-Script. Тут приведены два примера для jquery плагина лайтбокс poptrox.js и зум elevateZoom.js
poptrox.js
Подключаем jquery плагин на странице товара. И добавляем код в product.js
// product images var $ = jQuery, $coreWrapper = $("#product-core-image"), $coreImages = $coreWrapper.find("a"); if ($coreImages.length) { if ($("#product-gallery a").length > 1) { nav = true } else { nav = false } $coreWrapper.poptrox({ // здесь различные настройки плагина usePopupNav: nav }); $coreImages.on("click", function(e) { e.preventDefault(); var gallery = []; if ($("#product-gallery a").length) { var k = $("#product-gallery div.selected").prevAll('.image').length; $('#product-gallery div.image').not('.selected').each(function () { gallery.push({href: $(this).find('a').attr('href')}); }); if (k) { gallery = gallery.slice(k).concat(gallery.slice(0, k)); } } else { gallery.push({href: $(this).attr('href')}); } var links = gallery.map(function(href) { return $("<a>", { href: href['href'] }); }); if ($("#product-gallery a").length > 1) { $("#link_box").remove(); $coreImages.after('<div id="link_box" style="display: none;"></div>'); $("#link_box").append(links); } }); }

elevateZoom.js
Читайте документацию к плагину. Требуются небольшие правки в разметке страницы в зависимости от темы дизайна. Приведенный ниже код необходимо добавить в product.js
// product images var $ = jQuery, $coreWrapper = $("#product-core-image"), $coreImages = $coreWrapper.find("a"); if ($coreImages.length) { var zoom = $('#product-image').parent().parent().attr('data-zoom-image'); $('#product-image').attr('data-zoom-image', zoom).elevateZoom({ gallery:'product-gallery', galleryActiveClass: 'active', zoomType : "lens", lensShape : "round", lensSize : 380 }); }