Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

[Решено] Как изменить порядок дополнительных фотографий товара?


arthyrgrex
 Поделиться

Рекомендованные сообщения

Добрый день.

Собственно сабж (не повторяюсь).

Нужно первое (дефолтное фото) переставить в конец списка дополнительных фотографий, пример:
http://modamio.ru/birjuzovoe-vjazanoe-platje

post-10240-0-81556800-1483480684_thumb.png

В product.tpl только этот кусок кода подходит, но там ничего нету:
 

<script>
            // product images owl
            var a = $("#one-image");
            var b = $("#image-additional");
            
            a.owlCarousel({
            singleItem: true,
            slideSpeed: 1000,
            navigation: true,
            navigationText: ['<i class="fa fa-angle-left fa-5x"></i>', '<i class="fa fa-angle-right fa-5x"></i>'],
            pagination: false,
            afterAction: syncPosition,
            responsiveRefreshRate: 200,
            addClassActive: true,
            });
            
            b.owlCarousel({
            items: 4,
            itemsDesktop: [1200, 3],
            itemsDesktopSmall: [992, 2],
            itemsTablet: [768, 4],
            itemsMobile: [668, 3],
			itemsMobilSmall: [510, 2],
            pagination: false,
            navigation: true,
            navigationText: ['<i class="fa fa-angle-left fa-5x"></i>', '<i class="fa fa-angle-right fa-5x"></i>'],
            responsiveRefreshRate: 100,
            afterInit: function(el) {
                el.find(".owl-item").eq(0).addClass("synced");
            }
            });
            
            function syncPosition(el) {
            var current = this.currentItem;
            $("#image-additional")
                .find(".owl-item")
                .removeClass("synced")
                .eq(current)
                .addClass("synced")
            if ($("#image-additional").data("owlCarousel") !== undefined) {
                center(current)
            }
            }
            
            $("#image-additional").on("click", ".owl-item", function(e) {
            e.preventDefault();
            var number = $(this).data("owlItem");
            a.trigger("owl.goTo", number);
            });
            
            function center(number) {
            var bvisible = b.data("owlCarousel").owl.visibleItems;
            var num = number;
            var found = false;
            for (var i in bvisible) {
                if (num === bvisible[i]) {
                    var found = true;
                }
            }
            
            if (found === false) {
                if (num > bvisible[bvisible.length - 1]) {
                    b.trigger("owl.goTo", num - bvisible.length + 2)
                } else {
                    if (num - 1 === -1) {
                        num = 0;
                    }
                    b.trigger("owl.goTo", num);
                }
            } else if (num === bvisible[bvisible.length - 1]) {
                b.trigger("owl.goTo", bvisible[1])
            } else if (num === bvisible[0]) {
                b.trigger("owl.goTo", num - 1)
            }
            }
         </script>

В контроллере product.php тоже ничего похожего нету.

Скорее всего нужно править:
http://modamio.ru/catalog/view/javascript/jquery/owl-carousel/owl.carousel.min.js

Но я к сожалению не силен в JS, по этому обращаюсь на форум.

Благодарю за советы.

Ссылка на комментарий
Поделиться на других сайтах


покажи код вывода доп фото 

возможно основное фото стоит 1 по умолчанию

<?php if ($images && $config->get('control_additional')== 2) { ?>
         <div id="image-additional" class="owl-carousel image-additional" style="margin-top:15px">
            <div class="item"><a href="<?php echo $popup; ?>" title="<?php echo $heading_title; ?>"><img src="<?php echo $fix2; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" /></a></div>
            <?php foreach ($images as $image) { ?>
            <div class="item">
               <img src="<?php echo $image['thumb']; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>">
            </div>
            <?php } ?>
         </div>
         <?php } ?>
Ссылка на комментарий
Поделиться на других сайтах


<?php if ($images && $config->get('control_additional')== 2) { ?>
         <div id="image-additional" class="owl-carousel image-additional" style="margin-top:15px">
            <div class="item"><a href="<?php echo $popup; ?>" title="<?php echo $heading_title; ?>"><img src="<?php echo $fix2; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" /></a></div>
            <?php foreach ($images as $image) { ?>
            <div class="item">
               <img src="<?php echo $image['thumb']; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>">
            </div>
            <?php } ?>
         </div>
         <?php } ?>

 

замените на этот код

<?php if ($images && $config->get('control_additional')== 2) { ?>
<div id="image-additional" class="owl-carousel image-additional" style="margin-top:15px">
  <?php foreach ($images as $image) { ?>
  <div class="item">
    <img src="<?php echo $image['thumb']; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>">
  </div>
  <?php } ?>
  <div class="item"><a href="<?php echo $popup; ?>" title="<?php echo $heading_title; ?>"><img src="<?php echo $fix2; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" /></a></div>
</div>
<?php } ?>
  • +1 1
Ссылка на комментарий
Поделиться на других сайтах


 

замените на этот код

<?php if ($images && $config->get('control_additional')== 2) { ?>
<div id="image-additional" class="owl-carousel image-additional" style="margin-top:15px">
  <?php foreach ($images as $image) { ?>
  <div class="item">
    <img src="<?php echo $image['thumb']; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>">
  </div>
  <?php } ?>
  <div class="item"><a href="<?php echo $popup; ?>" title="<?php echo $heading_title; ?>"><img src="<?php echo $fix2; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" /></a></div>
</div>
<?php } ?>

Сработало! 

Большое спасибо.

Но при таком раскладе есть небольшой нюанс:

- если нажимать на дополнительные изображения - они листаются не по порядку, а со смещение на одну в право.

Можно ли как-то этот момент поправить, чтобы при нажатии на дополнительное фото - отображалось именно то фото, на которое нажали?

Ссылка на комментарий
Поделиться на других сайтах


Я так понимаю это в данном коде:
 

<div class="<?php echo $class; ?><?php if($config->get('control_zoom_image')== 1) { ?> zoom-image<?php } ?>">
         <div class="zoom">+</div>
         <div id="one-image" class="owl-carousel">
            <div class="item">
               <img src="<?php echo $thumb; ?>" data-zoom-image="<?php echo $popup; ?>" id="image"  title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" itemprop="image" />
               <a class="zoom2 thumbnails" href="<?php echo $popup; ?>" title="<?php echo $heading_title; ?>"></a>
            </div>
            <?php if ($images) { ?>
            <?php foreach ($images as $image) { ?>
            <div class="item">
               <img src="<?php echo $image['fix']; ?>" data-zoom-image="<?php echo $image['popup']; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>">
               <a class="zoom2 thumbnails" href="<?php echo $image['popup']; ?>" title="<?php echo $heading_title; ?>"></a>
            </div>
            <?php } ?>
            <?php } ?>
         </div>
		 
         <script type="text/javascript">
            $(".zoom").on("click", function(){
            $(".active .zoom2").click();
            });							
         </script>
Ссылка на комментарий
Поделиться на других сайтах


Попробуйте так:

<div class="<?php echo $class; ?><?php if($config->get('control_zoom_image')== 1) { ?> zoom-image<?php } ?>">
         <div class="zoom">+</div>
         <div id="one-image" class="owl-carousel">
            <?php if ($images) { ?>
            <?php foreach ($images as $image) { ?>
            <div class="item">
               <img src="<?php echo $image['fix']; ?>" data-zoom-image="<?php echo $image['popup']; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>">
               <a class="zoom2 thumbnails" href="<?php echo $image['popup']; ?>" title="<?php echo $heading_title; ?>"></a>
            </div>
            <?php } ?>
            <?php } ?>
            <div class="item">
               <img src="<?php echo $thumb; ?>" data-zoom-image="<?php echo $popup; ?>" id="image"  title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" itemprop="image" />
               <a class="zoom2 thumbnails" href="<?php echo $popup; ?>" title="<?php echo $heading_title; ?>"></a>
            </div>
         </div>
		 
         <script type="text/javascript">
            $(".zoom").on("click", function(){
            $(".active .zoom2").click();
            });							
         </script>
  • +1 1
Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.