Исчезающая корзина на всех страницах

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

  1. solanj

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

    Сообщения:
    51
    Симпатии:
    1
    Нужно сделать корзину исчезающей через несколько секунд после добавления. Корзина основана на стандартной через класс success
    решение в карточке товара простое: в product.tpl
    заменяем
    $('.success').fadeIn('slow');
    на
    $('.success').fadeIn(1000).delay(2000).fadeOut(1500);
    и в карточке товара все происходит чудесным образом, как нужно. но на всех остальных страницах (категориях, главной и тд) корзина не исчезает при нажатии на кнопку "купить".
    Подскажите где искать? в файле category.tpl ни чего по этому поводу не нашла.
    opencart 1.5.6 шаблон ultimatum
     
  2. solunski.d

    solunski.d Эксперт

    Сообщения:
    1.565
    Симпатии:
    429
    :D ты добавила скрипт в карточку товара. Я тебя советую открыть common.js найти событие добавления в корзину товар и прописать скрипт туда.
     
  3. solanj

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

    Сообщения:
    51
    Симпатии:
    1
    попробовала, все нашла и заменила, но ни чего не происходит
     
  4. solunski.d

    solunski.d Эксперт

    Сообщения:
    1.565
    Симпатии:
    429
    1. Вы используете старый движок, это не значит проверенный и надежный - время прошло, теперь не надежный.
    2. в common.js есть функция addToCart() там используется ajax, внутри ajax запроса есть пример:
    Код:
    $('html, body').animate({ scrollTop: 0 }, 'slow'); 
    Попробуйте вызывать alert() или console.log() - эти два метода хорошо справляться с проверкой. Отловите почему не срабатывает.
     
  5. solanj

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

    Сообщения:
    51
    Симпатии:
    1
    ни сильна я в JavaScript не вижу я ни чего в консоли. может делаю что-то ни так, но ошибок не появляется
     
  6. solunski.d

    solunski.d Эксперт

    Сообщения:
    1.565
    Симпатии:
    429
    А разве там не #cart родитель корзины?
     
  7. solanj

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

    Сообщения:
    51
    Симпатии:
    1
    сейчас это выглядит так:
    if (json['success']) {
    $('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');

    $('.success').fadeIn(1000).delay(2000).fadeOut(1500);

    $('#cart-total').html(json['total']);

    $('html, body').animate({ scrollTop: 0 }, 'slow');
    }
     
  8. solunski.d

    solunski.d Эксперт

    Сообщения:
    1.565
    Симпатии:
    429
    #notification попробуйте его спрятать
     
  9. solanj

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

    Сообщения:
    51
    Симпатии:
    1
    попробовала так:
    $('#notification').fadeIn(1000).delay(2000).fadeOut(1500); - результата тоже нет

    если success прекрасно прячется в товаре, может проще как-то найти как его прятать на других страницах?
     
  10. solunski.d

    solunski.d Эксперт

    Сообщения:
    1.565
    Симпатии:
    429
    Я не скриптовик,но будет нормально, только поменяйте button на класс.
    Поставьте на событие при клике кнопки добавить в корзину
    Код:
    function readyFn() {
    $( "button" ).click(function() {
        $('#notification').fadeIn(1000).delay(2000).fadeOut(3000);
    });
    }
    $( document ).ready( readyFn );
     
  11. solanj

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

    Сообщения:
    51
    Симпатии:
    1
    Это в каком файле должно быть?
     
  12. solunski.d

    solunski.d Эксперт

    Сообщения:
    1.565
    Симпатии:
    429
    Как я говорил это можно положить в common.js вверху или внизу, разницы нет
    Найти класс или прописать его для кнопки(которая добавляет товар в корзину)
    и в скрипте подставить нужные классы
     
  13. Ален

    Ален Эксперт

    Сообщения:
    2.055
    Симпатии:
    634
    ох и любите поболтать )) Надеюсь правите тот файл common.js ??? Ведь каждая тема использует свой!! Не забываем про это !!!
     
    solanj нравится это.
  14. solunski.d

    solunski.d Эксперт

    Сообщения:
    1.565
    Симпатии:
    429
    :D Еще вроде так работало
    HTML:
    function readyFn() {
    $( "button" ).click(function() {
        $('#notification').fadeToggle( "slow", "linear" ).delay(2000).fadeOut(3000);
    });
    }
    $( document ).ready( readyFn );
     
    solanj нравится это.
  15. solanj

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

    Сообщения:
    51
    Симпатии:
    1
    спасибо. нашла где этот файл дублируется в шаблоне.
    Все получилось. тему можно закрывать