[Помогите] Доработать кнопку "Купить" Opencart 2.3

Тема в разделе "OpenCart", создана пользователем cotto51rus, 1 май 2019.

  1. cotto51rus

    cotto51rus

    Регистрация:
    3 янв 2016
    Сообщения:
    232
    Симпатии:
    8
    Внедрила вниз описания товара кнопку "купить" для ленивых покупателей, чтобы им вверх не перелистывать все описание для нажатия на кнопку, только вот не знаю как добавить функцию перелистывания вверх к опциям, если их необходимо выбрать в товаре перед покупкой в обязательном порядке. Без опций работает нормально кнопка.
    Помогите, пожалуйста. Подскажите, как реализовать.
    Код:
    <div class"" style="text-align:center!Important">   
    <button type="button" class="add_to_cart button btn btn-lg <?php echo $cart_btn_class; ?>" title="КУПИТЬ СЕЙЧАС" id="button-cart" onclick="cart.add('<?php echo $product_id; ?>');"><i class="<?php echo $cart_btn_icon; ?>"></i><span><?php echo $cart_btn_text; ?></span></button>
    </div>
     
  2. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Код:
    $('html,body').animate({scrollTop:0},0);
     
    cotto51rus нравится это.
  3. cotto51rus

    cotto51rus

    Регистрация:
    3 янв 2016
    Сообщения:
    232
    Симпатии:
    8
    не работает, возможно я туда, куда нужно не прописала.
    Также обнаружила еще недочеты в своем коде. При добавлении товара добавляется минимальное количество, а не то, которое изначально выбрано.
    Например, клиент вначале выбрал опцию, выбрал количество и начал читать описание, пролистав до низа и нажав на мою кнопку Купить, его как положено перенаправляет на оформление заказа, НО не стем количеством, что выбрано изначально вверху, а с минимальным.
    Попробовала доработать код вот так, все равно минимальное кладет в корзину:
    Код:
    <button type="button" class="add_to_cart button btn btn-lg <?php echo $cart_btn_class; ?>" title="КУПИТЬ СЕЙЧАС" id="button-cart" onclick="cart.add('<?php echo $product_id; ?>', '<?php $quantity?>');"><i class="<?php echo $cart_btn_icon; ?>"></i><span><?php echo $cart_btn_text; ?></span></button>                    </div>
    
    что неправильно делаю? подскажите, пожалуйста
     
    Последнее редактирование: 2 май 2019
  4. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Даже больше, чем вам кажется. Если вы хотите самостоятельно допиливать сайт, изучите хотя бы основы php.
    Потому что вот это:
    PHP:
    <?php $quantity?>
    не выведет вообще ничего!

    Вы же видите, как выводится $product_id? Почему при выводе количества вы забыли команду вывода?

    Ну, а кроме того, quantity - это количество товара на складе и оно вообще в шаблон не передаётся. А то количество, которое вам нужно, придётся выдёргивать через js, потому что оно есть только на странице в браузере.
    Если хотите пример кода, дайте ссылку на страницу.

    А куда вы прописывали?
    Этот код должен вызываться из обработчика клика на кнопку покупки после обнаружения необходимости выбора опций. И это именно код прокрутки, который моментально выполняется, так что, если его вписать куда попало, он просто сработает при загрузке страницы и дальше толку не будет.
     
    cotto51rus нравится это.
  5. cotto51rus

    cotto51rus

    Регистрация:
    3 янв 2016
    Сообщения:
    232
    Симпатии:
    8
    loress.ru/avtovladelcam/bukvy-na-avtomobil-iz-metalla
     
  6. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Подход вообще неправильный!
    У вас сейчас нижняя кнопка не только количество не захватывает, но и выбранные опции.

    Уберите с нижней кнопки вот это:
    HTML:
    onclick="cart.add('<?php echo $product_id; ?>', '<?php $quantity?>');"
    Добавьте ей id, например, button-cart-bottom. Затем найдите в шаблоне страницы товара вот эту строку:
    Код:
    $('#button-cart').on('click', function() {
    и приведите её к такому виду:
    Код:
    $('#button-cart, #button-cart-bottom').on('click', function() {
    И у вас нижняя кнопка начнёт работать точно так же, как верхняя.
     
    cotto51rus нравится это.
  7. cotto51rus

    cotto51rus

    Регистрация:
    3 янв 2016
    Сообщения:
    232
    Симпатии:
    8
    Просто огромнейшее Вам спасибо! Все получилось.
    Вы негодуете по поводу того, что я не изучаю основы верстки. Дело в том, что я занимаюсь контекстом и лезу в "допиливание" только по необходимости. Сайт переводила с 1.5.6.4 на 2.3, поэтому, пришлось кое-что подредактировать и поменять.
    Еще раз Огромное спасибо за помощь!