Всплывающее большое фото товара на странице категории

Тема в разделе "Общие вопросы", создана пользователем Juzosif, 6 дек 2015.

  1. Juzosif

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

    Сообщения:
    263
    Симпатии:
    20
    Вопрос: Подскажите , как перенести функцию увеличения изображения товара с карточки товара на страницу категории ?
    Ответ:

    В файле catalog\controller\product\ category.php
    Вставляем
    Перед
    Код:
                $data['heading_title'] = $category_info['name'];
    Вот это
    Код:
                $this->document->addScript('catalog/view/javascript/jquery/magnific/jquery.magnific-popup.min.js');
                $this->document->addStyle('catalog/view/javascript/jquery/magnific/magnific-popup.css');
    Далее в этом же файле находим:
    Код:
    $data['products'][] = array(
                        'product_id'  => $result['product_id'],
                        'thumb'       => $image,
    После вставляем
    Код:
    'popup'=>$this->model_tool_image->resize($result['image'],$this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')),
                        'name'        => $result['name'],
    Далее в файле catalog\view\theme\ВАШАТЕМА\template\product category.tpl
    В место ссылки на товар вставляем вот этот код.
    Код:
    <a href="<?php echo $product['popup']; ?>">
    В этом же файле вставляем
    Код:
    <script>
    $(document).ready(function() {
        $('.image').magnificPopup({
            type:'image',
            delegate: 'a',
            gallery: {
                enabled:true
            }
        });
    });
    </script>

    Особенное благодарность выражаем Ален.
     
    Последнее редактирование: 7 дек 2015
  2. Vlad

    Vlad Эксперт

    Сообщения:
    4.146
    Симпатии:
    1.003
    Сначала изучите как происходит увеличение в самом товаре, ведь одной ссылке мало. Там скрипт подключать нужно.
    Потом почитать документацию по скрипту увеличения.
    Потом все это дело внедрить.. дело тоже не на секунду, ну и далее что все.

    а что должно было помочь? Вы просто добавили в массив ссылку на изображение и все..
     
  3. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    В \catalog\view\theme\default\template\product\category.tpl

    добавляем

    Код:
    <script>
    $(document).ready(function() {
        $('.image').magnificPopup({
            type:'image',
            delegate: 'a',
            gallery: {
                enabled:true
            }
        });
    });
    </script>

    изменить блок с изображением так, чтобы вместо ссылки на товар, была ссылка на веше большое изображение

    Код:
    <div class="image"><a href="<?php echo $product['thumb']; ?>"><img src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" class="img-responsive" /></a></div>

    в контроллере подключим скрипты \catalog\controller\product\category.php

    перед
    PHP:
                $data['heading_title'] = $category_info['name'];
    вставим
    PHP:
                $this->document->addScript('catalog/view/javascript/jquery/magnific/jquery.magnific-popup.min.js');
                
    $this->document->addStyle('catalog/view/javascript/jquery/magnific/magnific-popup.css');

    а после
    PHP:
    'name'        => $result['name'],
    вставим
    PHP:
    'popup' => $this->model_tool_image->resize($result['image'],$this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')),
     
    Последнее редактирование: 7 дек 2015
    Romans, Juzosif и optimlab нравится это.
  4. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    вместо $image должно быть $result['image']
     
    Juzosif нравится это.
  5. Dimasscus

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

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

    Прошу помощи. сделал правки по указанной инструкции в категориях и рекомендуемых. Но ни в категориях, ни в рекомендуемых, ни собственно в товаре не срабатывает-открывает изображение в новой вкладке. скрипт в файлах присутствует. что не так? как докопаться до сути проблемы? если что вот ссылка на пациента http://zvetochki.ru/
     
  6. Dimasscus

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

    Сообщения:
    110
    Симпатии:
    1
  7. solunski.d

    solunski.d Эксперт

    Сообщения:
    1.570
    Симпатии:
    435
    Вам с начало верстку на сайте надо подправить, ужасная...
    Так же из за ошибок других скриптов, некоторые скрипты могут не сработать.
     
  8. Dimasscus

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

    Сообщения:
    110
    Симпатии:
    1
    знаю. к сожалению там проще сверстать с нуля чем это гов.о разобрать. ужастно все. данная проблема "странно но в консоли код вызывается по адресу http://zvetochki.ru/srezannye-tsvety/rozy/catalog/view/javascript/jquery/datetimepicker/moment.js" устранилась после того как удалил подключение скриптов после common.js. но проблема с несработкой попапа осталась. отрубил бы руки этому удаку, который так поиздевался над опенкартом. куски с престашопа в коде шаблона, какие то огрызки, вывод категорий и кол ва товаров вообще переписан и налеплен в кучу. да еще и языковых переменных решил не применять- все текстом. :((
     
  9. Dimasscus

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

    Сообщения:
    110
    Симпатии:
    1
    просто вот хочется разобраться- если скрипт есть в коде шаблона, почему он не срабатывает? если не верно подключен- хотябы ошибку светил. странно. мистика
     
  10. solunski.d

    solunski.d Эксперт

    Сообщения:
    1.570
    Симпатии:
    435
    Подключить может каждый, а вот функцию запуска скрипта с нужными параметрами напишет не каждый)
    Сперва исправь другие ошибки, а потом пробуй сделать изображения.
    Используешь magnifico?
     
  11. Dimasscus

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

    Сообщения:
    110
    Симпатии:
    1
    да его.
    в товаре вывел. проверил шаблон хедера- там даже common.js через анус был подключен, поэтому работало только по прямой ссылке на товар, а если заходишь в товар через категорию- то не работает( весело будет чпу настраивать :))
    в категории не могу настроить(в списке товаров категории) чтоб картинку выводило большую. выводит в всплывашке картинку 200 на 200.
    может не верно вызываю? строчку добавил как в инструкции
     
  12. Dimasscus

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

    Сообщения:
    110
    Симпатии:
    1
    Последнее редактирование: 20 июл 2016
  13. solunski.d

    solunski.d Эксперт

    Сообщения:
    1.570
    Симпатии:
    435
    Могу сказать что PHP ты не знаешь)
    Надо popup вызывать так:
    PHP:
    <?=$product['popup']?>
     
  14. DiMoss

    DiMoss Продвинутый пользователь

    Сообщения:
    862
    Симпатии:
    236
    Сделал для себя модификатор. Может кому и пригодится!

    На фото накладывается иконка, при клике по которой, открывается фото во всплывающем окне...

    upload_2016-7-27_22-4-43.png

    Работает в Категориях, Производителях, Акциях, Поиске, модулях Новые поступления и Акции...
    Протестировано на дефолтном шаблоне OpenCart 2.1.0.2(rs.1)

    Для установки необходимо скачать архив и установить через Установку расширений. Вместе с модификацией на сервер загружается файл с необходимыми стилями.

    Модуль тут http://forum.opencart-russia.ru/threads/foto-vo-vsplyvajuschem-okne-ocmod.3415/
     
    Последнее редактирование модератором: 28 июл 2016
  15. dzhit86

    dzhit86 Новичок

    Сообщения:
    5
    Симпатии:
    2
    На 2.3 не работает. Куча ошибок.
     
  16. dzhit86

    dzhit86 Новичок

    Сообщения:
    5
    Симпатии:
    2
    Он не умеет пролистывать в этом же окне остальные фото товара?
     
  17. artemius70

    artemius70 Новичок

    Сообщения:
    2
    Симпатии:
    0
    Not Found
    The requested URL /image/cache/catalog/kovanyeizdelija/perila/local_datasketch_7_1-0x0.jpg was not found on this server.

    вот такая ошибка с чем может быть связана?
     
  18. karpov

    karpov Продвинутый пользователь

    Сообщения:
    1.523
    Симпатии:
    243
    С тем что код для одной версии опенкарт, а используете для другой.