Как полноценно прикрутить Highslide к изображениям товара
Здравствуйте! Прикручиваю Highslide, нужно чтобы он листал все изображения товара, а получается, что основное изображение открывается отдельно, а дополнительные потом как-то криво открываются или вообще не открываются на увеличение.
Нашёл решение подобного вопроса один в один, но походу для старого пятого шоп скрипта https://www.nulled.cc/threads/197737/
Подскажите, пожалуйста, как сделать то же самое, но в рамках шоп скрипта версии 6-7
2 ответа
В принципе в документации highslide все очень подробно расписано, но там столько опций, параметров и css обвязки, что немудрено запутаться. И прикручивание особо от версии Шопскрипта не зависит (хоть старый 309, хоть 7-ка). Надо просто знать, где и как вы получаете код основного изображения и дополнительных изображений товара и этого более чем достаточно.
Если честно, то в свое время прикрутил highslide вместо zoombox и какое-то время он работал. Потом заменил его на swipebox на всех своих проектах ибо highslide выбесил. Swipebox и кода с собой много меньше тянет и всякие портянки инициализации не требует и ещё его можно использовать для вывода увеличенных изображений блога, статей на сайте, изображений на статических страницах и в описании категорий и тегов и все это намного проще, чем с highslide. Короче говоря, универсальный код получается. И даже трюки с выплывающими текстовыми блоками он тоже позволяет делать. А ещё highslide на мобильных устройствах - обнять и плакать и это была основная причина отказа от этого кода. Может быть они адаптировали и стало красиво, но проверять не хочу.
Если вы все ещё хотите использовать highslide, то от вас потребуется больше информации о ваших измененных для этого шаблонах и о том, что вы уже прикрутили, как и куда. Подробно и в деталях с кусками из кода ваших шаблонов.
Пример из list-thumbs.html (есс-но перед этим надо в head загрузить highslide.js и необходимый для него css)
И то же самое через swipebox
В карточке продукта для прикручивания hghslide без небольшой JS вставки не обойтись, т.к. там есть основное изображение и все изображения, включая основное, под ним, хотя это и зависит от темы дизайна, но обычно это так.
Запуск просмотра через highslide может начаться с любого из них, т.е. ссылки на изображения в #product-gallery и #product-core-images надо собрать в кучу и выводить через highslide без повторов первого, начиная с любого произвольного. В этом и должна состоять суть вспомогательного скрипта. Сам highslide собирает ссылки из элементов с определенными классами и требует указания в onclick целой кучи всякого. Это мне и не понравилось.
Swipebox в этом отношении проще, да и классы можно делать свои достаточно легко. Например создал в swipebox.css себе такой .blogpics {border:none;cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in} , потом его подцепляешь для изображений блога где-нибудь в stream.html вот так <script type="text/javascript">$(document).ready(function() { $(".blogpics").swipebox(); });</script>
С другой стороны и для swipebox без маленького скрипта в product.html или в product.js не обходится. Я пробовал обойтись без помощи этого JS, но пока решения не нашел. Либо огород городить очень большой, либо бредятина и костыли. В шаблонах типа list-thumbs.html все намного проще (см. решение выше).