Не работает fancybox на странице товара
Привет,
Наступил 2 раза на одни грабли. Пару лет назад сталкивался с такой же проблемой, но специфика была другая.
На странице товара магазина minishop2 не работает fancybox.
Сразу уточню, что дизайн не использует bootstrap и речь не о том, что не работает fancy из коробки.
Прошу помощи советом в конкретной ситуации.
По клику на thumbnail открывается ссылка с картинкой в новом окне, а не заменяет картинку в основном диве.
На страницу подключаются JS
Верстка msGallery
tpl.msGallery.outer.my
Как реализована логика fancybox по дефолту в minishop2?
Возможно, так как верстка другая, скрипт не цепляет нужный класс?
Нужно ли скриптом прописывать запуск fancybox в хеде?
Наступил 2 раза на одни грабли. Пару лет назад сталкивался с такой же проблемой, но специфика была другая.
На странице товара магазина minishop2 не работает fancybox.
Сразу уточню, что дизайн не использует bootstrap и речь не о том, что не работает fancy из коробки.
Прошу помощи советом в конкретной ситуации.
По клику на thumbnail открывается ссылка с картинкой в новом окне, а не заменяет картинку в основном диве.
На страницу подключаются JS
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<!--<script type="text/javascript" src="./resources/j/jquery.min.js" > </script> -->
<script type="text/javascript" src="./resources/common/_common.min.js" defer ></script>
<script type="text/javascript" src="./resources/main/_main.min.js" defer ></script>(Заменил мой jquery на последний, ситуацию не изменило)Верстка msGallery
tpl.msGallery.outer.my
<section class="b-gallery2 _ico-zoom js-reload" data-reload-id="gallery">
<div class="b-gallery2__images-wrap cleared">
<div class="b-gallery2__img g-clickable" id="product_card_img">
<a rel="fancybox" href="[[+url:default=`/assets/components/minishop2/img/web/ms2_big.png`]]" target="_blank">
<img src="[[+380x380:default=`/assets/components/minishop2/img/web/ms2_medium.png`]]" width="380" height="380" alt="" title="" id="mainImage" class="g-clickable"/>
</a>
<span class="b-ico b-ico_preloader_30x30" style="display:none;"></span><i class="b-ico b-ico_preloader_md" style="display: none;"></i></div>
<nav class="b-gallery2__nav helper-last">
<ul id="product_card_nav" class="thumbnails">
[[+rows]]
</ul>
</nav>
</div>
</section>tpl.msGallery.row.my<li>
<a class="gtm-product-page-click fancy_gallery" rel="fancybox" href="[[+380x380:default=`[[+url]]`]]" data-image="[[+url]]">
<img src="[[+100x100]]" alt="" title="[[+name]]" width="50">
</a>
</li>Как реализована логика fancybox по дефолту в minishop2?
Возможно, так как верстка другая, скрипт не цепляет нужный класс?
Нужно ли скриптом прописывать запуск fancybox в хеде?
Комментарии: 13
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Где здесь включены JS fancybox?
Вопрос в работе msGallery при кастомной верстке.
Какие id,class должны быть, чтобы при клике на миниатюру она появлялась в основном блоке картинкой?
Фанси нужно подключаться отдельно, советую 3ю версию, хоть и бета, уже давно юзаю — проблем не находил.
P.S. фанси кстати платная, но мало кто задумывается об этом…
то что миниатюры не работают — они должны работать из коробки, так что самый верный способ смотреть в консоль и на классы которые ты используешь, например чтобы стояло id=«msGallery» и т.п.
Проблема состоит в следующем,
При клике на миниатюру, она не появляется в большом формате в основном блоке галереи, а открывается в новом окне (срабатывает линк).
Поэтому я и спрашиваю, по каким критериям реализована логика работы, какие id, какие классы используются для этого.
Консоль пустой, ошибок нет.
По каким классам,id реализована эта логика, никто не подскажет?
родитель — id=«msGallery»
главное изображение id=«mainImage»
миниатюра class=«thumbnail»
это можно понять глядя на код, если не ясно — смотри js
может поможет!