Смена главного изображения при клике на дополнительные в карточке товара

Тема в разделе "Дизайн, оформление и шаблоны", создана пользователем Sanik, 6 мар 2017.

  1. Sanik

    Sanik Активный пользователь

    Сообщения:
    299
    Симпатии:
    3
    Здравствуйте, подскажите пожалуйста, как это можно реализовать на 2.3? Повсюду инфа только для 1.5-х, модуль zoom не планирую использовать.
     
  2. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    от 1.5 не должно сильно отличаться, принцип действия один и тот же.
    При клике на мелкое, получаем его адрес, заменяем в конце ссылки размеры и меняем ссылку у главного.
    Все на js
    Вы начните хотя бы делать...
     
    Sanik нравится это.
  3. Marianna

    Marianna Пользователь

    Сообщения:
    55
    Симпатии:
    2
    там существенные различия, например в 1.5 предлагают сделать так
    'addthumb' => $this->model_tool_image->resize($result['image'], $this->config->get('config_image_thumb_width'), $this->config->get('config_image_thumb_height')),

    в 2.3 так:
    'thumb' => $this->model_tool_image->resize($result['image'], $this->config->get($this->config->get('config_theme') . '_image_additional_width'), $this->config->get($this->config->get('config_theme') . '_image_additional_height'))

    если делать по принципу 2.3 то не работает.
    в js это:
    Код:
    <?php if ($images) { ?>
    <script type="text/javascript"><!--
    $(function(){
        var imgs = <?php echo json_encode($images); ?>;
        var html = '';
        $.each(imgs,function(i,image){
            html += '<div class="image" style="display:none;"><a href="' + image.popup + '" title="<?php echo $heading_title; ?>" class="colorbox">';
            html += '<img src="' + image.addthumb + '" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" /></a></div>';
            $('.image-additional').before(html);
            html = '';
        })
        html = '<a href="<?php echo $popup; ?>" title="<?php echo $heading_title; ?>">';
        html += '<img src="<?php echo $addpopup; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" /></a>';
        $('.image-additional').prepend(html);
        var images = $('div.left .image');
        var thumbs = $('.image-additional a');
        thumbs.removeClass('cboxElement').removeClass('colorbox');
        images.children('a').colorbox({rel:'colorbox'});
        thumbs.on('click',function(e){
            e.preventDefault();
            images.hide();
            images.eq(thumbs.index(this)).show();
        });
    });
    //--></script>
    <!-- EOF oc_Thumb_image_swap.xml -->
    <?php } ?>
     
  4. Chukcha

    Chukcha Специалист

    Сообщения:
    3.013
    Симпатии:
    685
    1. определяемся с размерами
    Для основной
    - thumb размер для изображения (thumb) _image_thumb_width
    - popup размер для галереи - т.е. большое (popup _image_popup_width
    - small и нужно изображение для того чтобы вставить в допартинки _image_additional_

    Для доп добавляем

    'thumb_main' => _image_thumb_width _image_thumb_height

    Выводим
    Код:
    <?php if ($images) { ?>
               <li class="image-additional"><a class="thumbnail" href="<?php echo $popup; ?>" data_main="<?php echo $['thumb']; ?>" title="<?php echo $heading_title; ?>"> <img src="<?php echo $small; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" /></a></li>
                <?php foreach ($images as $image) { ?>
                <li class="image-additional"><a class="thumbnail" href="<?php echo $image['popup']; ?>" data_main="<?php echo $image['thumb_main']; ?>" title="<?php echo $heading_title; ?>"> <img src="<?php echo $image['thumb']; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" /></a></li>
                <?php } ?>
    теперь скрипt
    Код:
    $('.image-additional a').click(function(){
    var main_image = $(this).attr('data_main');
    $('.thumbnails li:eq(0)').find('img').attr('src', main_image)
    }
    Т.е. все просто, для каждой темы свое решение

    Основное - получить три вида изображений.

    Здесь написан принцип. Возможно, есть ошибки. Это не догма.
     
    Marianna нравится это.
  5. Marianna

    Marianna Пользователь

    Сообщения:
    55
    Симпатии:
    2
    спасибо, есть вот такое решение, позже нашла
    https://www.opencart.com/index.php?...nsion/info&extension_id=30095&sort=date_added

    тут с увеличением картинки при наведении, но есть код для того чтобы дополнительные фото появлялись на месте главного + при нажатии открывались в попап.
     
  6. dreamtw

    dreamtw Новичок

    Сообщения:
    1
    Симпатии:
    0

    А можно поподробнее что за код? Скачал этот плагин, но мне так же не нужен зум а нужно увеличение главного изображения при клике на него) Подскажите если не сложно.
     
  7. aeroseo

    aeroseo Новичок

    Сообщения:
    20
    Симпатии:
    0
    Да, тоже интересно - как без zoom сделать, со стандартным pop-up
     
  8. Ravilr

    Ravilr Специалист

    Сообщения:
    3.877
    Симпатии:
    1.064
    Tesloz нравится это.