Popup Notification (Всплывающее окно при нажатие на кнопку купить)

Тема в разделе "Модули и дополнения", создана пользователем Slait, 27 июл 2015.

  1. Slait

    Slait Эксперт

    Сообщения:
    503
    Симпатии:
    454
    Привет. Подскажите ищу модуль или помощь

    Для opencart 1.5.6 у меня был похожий модуль
    http://www.opencart.com/index.php?route=extension/extension/info&extension_id=6668&filter_search=Pop-Up Notification&filter_license=1&filter_download_id=32

    Сейчас делаю проект на opencart 2.0.

    Проще говоря всплывающее окно при нажатие на кнопку купить.
    В новой версии не могу найти похожий модуль.
    Начал делать сам. Все красиво открывается, но
    как сделать что бы всплывающее окно было по центру и не прокручивалось вверх.

    2015-07-27 15-04-35 Скриншот экрана.png
     
  2. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
  3. Slait

    Slait Эксперт

    Сообщения:
    503
    Симпатии:
    454
    Большое спасибо мой друг :)
    Реализовал все так:
    В стили добавил:
    Код:
    position:fixed;
    top:50%;
    left:37%;
    :rolleyes:

    !!!Плохой Вариант!!!
    Правильный вариант ниже
     
    Последнее редактирование модератором: 28 июл 2015
  4. Romans

    Romans Administrator Команда форума

    Сообщения:
    1.438
    Симпатии:
    780
    если дизайн адаптивный, то неправильно делать 37%. Нужно делать 50%, но для окна делать margin-left:-100px;
    Где 100px это половина ширины окна.
     
  5. Slait

    Slait Эксперт

    Сообщения:
    503
    Симпатии:
    454
    В JS удалил строчку catalog\view\javascript\common.js
    Что бы не прокручивалось вверх. В нужном для меня блоке.
    Код:
    $('html, body').animate({ scrollTop: 0 }, 'slow');
    Добавил свои div блоки для всплывающего окна + перенес класс alert что бы правильно все закрывалось

    Добавление в избранное
    Код:
    if (json['success']) {
                        $('#content').parent().before('<div class="alert popup__overlay"><div class="popup"><div class="alert-success acn-info"> <button type="button" class="close" data-dismiss="alert">&times;</button>' + json['success'] + '</div></div></div>');
                    }
    
                    if (json['info']) {
                        $('#content').parent().before('<div class="alert popup__overlay"><div class="popup"><div class="alert-info acn-info"><button type="button" class="close" data-dismiss="alert">&times;</button>' + json['info'] + '</div></div></div>');
                    }
    
    Добавление в корзину
    Код:
                        $('#content').parent().before('<div class="alert popup__overlay"><div class="popup"><div class="alert-success  acn-notification"><button type="button" class="close" data-dismiss="alert">&times;</button> ' + json['success'] + '</div></div></div>');

    В стили добавил:
    Код:
    .popup__overlay {
      position: fixed;
      left: 0;
      top: 40%;
      width: 100%;
      height: 100%;
      text-align: center;
      z-index: 99;
    }
    .popup {
      display: inline-block;
      position: relative;
      max-width: 80%;
      vertical-align: middle;
    }

    После внесение этих правок все заработало. Прекрасно работает адаптивность, даже на сотовом телефоне.
     
    DiMoss, RoS и Romans нравится это.
  6. zahar_92

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

    Сообщения:
    34
    Симпатии:
    0
    Работает отлично! А как сделать, чтобы автоматом окно закрывалось скажем через 1 секунду? И при клике на alert popup__overlay окно закрывалось
     
  7. zvekov

    zvekov Новичок

    Сообщения:
    6
    Симпатии:
    0
    Добрый день!
    что необходимо добавить в common.js, чтобы окно закрывалось при нажатии на пустую область, т.е. не внутри div'а внутри сообщения?
     
  8. Setsuna

    Setsuna Новичок

    Сообщения:
    1
    Симпатии:
    0
    setTimeout(function(){
    $('.alert').fadeOut() }, 5000);
    catalog\view\javascript\common.js
    в блоке корзины сразу за текстом от ТС