[Помогите] Мои вопросы

Тема в разделе "OpenCart", создана пользователем gavag, 12 апр 2013.

  1. gavag

    gavag

    Регистрация:
    5 янв 2013
    Сообщения:
    112
    Симпатии:
    10
    Очень часто нужно делать не стандартные "вещи", в связи с чем появляется много вопросов на которые пока не нахожу ответов. Требуется Ваша помощь.

    1. Как сделать так (что нужно сделать), что бы при добавлении товара (кнопка купить) попадать прямо на страницу оформления заказа (с карточки товара)?
    ps: "редирект" с кнопки купить (в списке товаров сделал).
     
  2. denya

    denya

    Регистрация:
    2 мар 2013
    Сообщения:
    130
    Симпатии:
    35
    Не будет ли это напряжно для пользователя? А если он захочет несколько разных товаров купить - будет каждый раз прыгать туда-сюда?
     
  3. gavag

    gavag

    Регистрация:
    5 янв 2013
    Сообщения:
    112
    Симпатии:
    10
    Я все это понимаю, НО:
    1. Есть товары которые больше одного не купишь;
    2. Слово заказчика .... .
     
  4. denya

    denya

    Регистрация:
    2 мар 2013
    Сообщения:
    130
    Симпатии:
    35
    Если это поведение так и задумано, то посмотрите id кнопки Купить и поищите javascript вида (для <a id="button-cart" class="button">):
    HTML:
    $('#[B]button-cart[/B]').bind('click', function() {
    $.ajax({
    url: 'index.php?route=checkout/cart/update',
    type: 'post',
    data: $('.product-info input[type=\'text\'], .product-info input[type=\'hidden\'], .product-info input[type=\'radio\']:checked, .product-info input[type=\'checkbox\']:checked, .product-info select, .product-info textarea'),
    dataType: 'json',
    success: function(json) {
    $('.success, .warning, .attention, information, .error').remove();
    if (json['error']) {
    if (json['error']['warning']) {
    $('#notification').html('<div class="warning" style="display: none;">' + json['error']['warning'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');
    $('.warning').fadeIn('slow');
    }
    for (i in json['error']) {
    $('#option-' + i).after('<span class="error">' + json['error'][i] + '</span>');
    }
    }
    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('slow');
    $('#cart_total').html(json['total']);
    $('html, body').animate({ scrollTop: 0 }, 'slow');
    }
    }
    });
    });
    //-->
    Вот тут в секции if (json['success']) { можете ставить редирект.
    Название кнопки отличается в зависимости от установленного шаблона.
     
    gavag нравится это.
  5. weber

    weber

    Регистрация:
    7 фев 2013
    Сообщения:
    98
    Симпатии:
    32
    Не совсем понятно это у вас вопрос или утверждение:smile:
    Но вообще есть такой вариант, в шаблоне продукта (product.tpl) в самом низу есть JS код, который обрабатывает кнопку добавления товара в корзину.
    Начинается так:
    Код:
    $('#button-cart').bind('click', function() {...
    так вот, в этом коде находите такой участок кода:


    и добавляете в нем редирект, например так:



    в списке товаров (в категории) используется другой обработчик, если нужно добавить редирект и там, то можно сделать по аналогии.
    С такой модификации после успешного добавления товара в корзину, вас сразу же будет перекидывать в корзину.

    upd: упс, чуток опоздал:Smile:
     
    gavag нравится это.
  6. weber

    weber

    Регистрация:
    7 фев 2013
    Сообщения:
    98
    Симпатии:
    32
    Тоже бывало такое, как вариант сделать создать вторую кнопку и дать клиентам выбор "Положить в корзину" или "Купить сразу"
     
  7. gavag

    gavag

    Регистрация:
    5 янв 2013
    Сообщения:
    112
    Симпатии:
    10
    Вот в том то и дело (именно в этом ОПК немного и напрягает): одинаковые события, а обрабатываются по разному.

    Там и копал, но как выяснилось обработчики должны быть разные (а для этого нужно хорошо знать специфику ОПК).
    --- добавлено: Apr 12, 2013 3:54 PM ---
    Опять же на каждую кнопку свой обработчик.
     
  8. weber

    weber

    Регистрация:
    7 фев 2013
    Сообщения:
    98
    Симпатии:
    32
    ну тут ничего не поделаешь, плата за гибкость и универсальность.
    Можно конечно перепилить и подвесить всех на один обработчик, но как по мне оно не стоит потраченного времени.
     
  9. gavag

    gavag

    Регистрация:
    5 янв 2013
    Сообщения:
    112
    Симпатии:
    10
    Смотря для кого как.

    ВОПРОС 2. Можно ли (если да то как): выбор "На странице (10/20/30 ...) перенести (отобразить) внизу (там где ...10 11 .... > >|Показано с 1 по 10 из)?
     
  10. weber

    weber

    Регистрация:
    7 фев 2013
    Сообщения:
    98
    Симпатии:
    32
    можно, только один вопрос, нужно только выбор количества перенести вниз? или весь блок фильтров?
     
  11. gavag

    gavag

    Регистрация:
    5 янв 2013
    Сообщения:
    112
    Симпатии:
    10
    Только выбор, ну и +
    ВОПРОС 3. Как сделать так что бы на кнопке (которая будет внизу: перелистывать страницы (вправо/влево)), вывести соответствующую надпись: еще 10/20/... соответственно.
     
  12. weber

    weber

    Регистрация:
    7 фев 2013
    Сообщения:
    98
    Симпатии:
    32
    Ну тогда находите файл шаблона категории catalog/view/theme/default/template/product/category.tpl в нем находите вот такой код:


    и переносите его туда, где нужно выводить (в вашем случае рядом с блоком pagination)

    но просто перенести не достаточно, нужно сделать вот так:



    А вот третий вопрос я не понял...
     
  13. gavag

    gavag

    Регистрация:
    5 янв 2013
    Сообщения:
    112
    Симпатии:
    10
    Внизу страницы есть (1 2 3 4 5 6 7 8 9 10 11 .... > >|), понятное дело (>) - листать вправо (назовем так). Вместо этого будет кнопка не просто (листать ...), а показать еще + цифры в зависимости от того какой выбор указан (10/20/ ...../50): т.е. Показать еще 20
    --- добавлено: Apr 12, 2013 4:26 PM ---
    Вот именно.
    --- добавлено: Apr 12, 2013 4:34 PM ---
    Блок то появляется но нет значений и нет "фильтрации".
     
  14. weber

    weber

    Регистрация:
    7 фев 2013
    Сообщения:
    98
    Симпатии:
    32
    а вы вначале точно удалили блок сортировки? Если там оставить то работать не будет
     
  15. gavag

    gavag

    Регистрация:
    5 янв 2013
    Сообщения:
    112
    Симпатии:
    10
    Э-э-э-э-э!? А что бы и там и там? Почему так происходит?
     
  16. weber

    weber

    Регистрация:
    7 фев 2013
    Сообщения:
    98
    Симпатии:
    32
    Происходит так потому что переменная переопределяется. Как эту проблему обойти точно не скажу, нужно ковырять.
     
  17. gavag

    gavag

    Регистрация:
    5 янв 2013
    Сообщения:
    112
    Симпатии:
    10
    Есть еще пару вопросов:
    Один вопрос касается дополнительного меню: Может посоветуете или предложите какое решение - необходимо дополнительное независимое (многоуровневое) меню (желательно, если это возможно, что бы была возможность сделать несколько разных). Можно конечно сделать самостоятельно как хочешь, но необходимо формирование из админки.
    И, можно ли и с помощью чего сформировать с отдельных товаров коллекции?