[Помогите] Вывод экономии от "скидка от количества"

Тема в разделе "OpenCart", создана пользователем etens1212, 19 авг 2017.

  1. etens1212

    etens1212

    Регистрация:
    1 май 2013
    Сообщения:
    339
    Симпатии:
    19
    Здравствуйте, друзья
    возможно подскажете, как реализовать данное решение
    думаю очень полезное будет многим

    я использую таб "Скидка"
    где ввожу цену от количества
    [​IMG]
    дефолтные на страницу товара выводится блок
    где есьть описание цены в зависимости от количества

    но нужна такая вещь
    чтобы выводило - вы экономите:

    (i разница - типа если товар стоит 100 грн
    от 5 штук товар будет стоить 90 грн
    то вы экономите 50 грн, то есть 10 из каждого * на количество 5 шт)
     
  2. spy

    spy

    Регистрация:
    15 янв 2013
    Сообщения:
    468
    Симпатии:
    137
    так а в чем собственно проблема?
    Прямо в тпл-ке продукта пиши код
    цена нормальная(100) pr * col (количество для скидки - 10) - pr_s (цена при скидке 50) * col = и будет экономия
     
  3. etens1212

    etens1212

    Регистрация:
    1 май 2013
    Сообщения:
    339
    Симпатии:
    19
    через php задать этот алгоритм и просто вывести функцию?

    задавать $a = <?php echo $price; ?>;

    только не знаю, как задать количество
    потому считайте
    как я меняю количество для покупки, там тоже должна меняться в экономии
     
    Последнее редактирование: 19 авг 2017
  4. spy

    spy

    Регистрация:
    15 янв 2013
    Сообщения:
    468
    Симпатии:
    137
    лучше на php, там все переменные уже есть во вьюхе.
    но можна и на js ))
     
  5. etens1212

    etens1212

    Регистрация:
    1 май 2013
    Сообщения:
    339
    Симпатии:
    19
    ок
    я как значение задавать?
    если у меня такой код

     
  6. spy

    spy

    Регистрация:
    15 янв 2013
    Сообщения:
    468
    Симпатии:
    137
    так и писать
    col -эт твой $discount['quantity']
    pr - $price
    pr_s - $discount['price']; или $special
    + надо смотреть в дебаге точнее что у тебя выводит
    ну и пиши в условиях, чтоб только при акциях код работал
     
  7. etens1212

    etens1212

    Регистрация:
    1 май 2013
    Сообщения:
    339
    Симпатии:
    19
    так?

    PHP:
    <?php
    $col 
    $discount['quantity'];
    $prd $price ;
    $pr_s $discount['price'];
    $d=$pr $col $pr_s $col;
    echo 
    $d;
    ?>
    ошибка
    Notice: Undefined variable: discount in /home/a7chocol/lvivcoffee.com/beta/catalog/view/theme/default/template/product/product.tplon line 222Notice: Undefined variable: discount in /home/a7chocol/lvivcoffee.com/beta/catalog/view/theme/default/template/product/product.tplon line 224Notice: Undefined variable: pr in /home/a7chocol/lvivcoffee.com/beta/catalog/view/theme/default/template/product/product.tplon line 2250
     
  8. spy

    spy

    Регистрация:
    15 янв 2013
    Сообщения:
    468
    Симпатии:
    137
    можна и так для удобочитаемости, а можна без лишних переменных
    притом сделал ты ошибки уже в переменных
    1) $prd = $price ;(пробел перед :wink:
    2) пишеш $prd = $price, а используеш pr))
    ну и смотри как у тебя цена выводится когда скидка как дисконт или как специальная?
    --- Добавлено, 19 авг 2017 ---
    смотрю на сайте у тебя, пока закоментируй что написал
     
  9. etens1212

    etens1212

    Регистрация:
    1 май 2013
    Сообщения:
    339
    Симпатии:
    19
    как дисконт
    PHP:
    <?php
    $col 
    $discount['quantity'];
    $pr $price;
    $pr_s $discount['price'];
    $d $pr $col $pr_s $col;
    echo 
    $d;
    ?>
    вроде все хорошо уже
    но ошибки (

    [​IMG]
     
  10. spy

    spy

    Регистрация:
    15 янв 2013
    Сообщения:
    468
    Симпатии:
    137
    ты написал не в форече наверное, так как на знает что такое discount
    после этого нужно
    Код:
    <?php foreach ($discounts as $discount) { ?>
     
  11. etens1212

    etens1212

    Регистрация:
    1 май 2013
    Сообщения:
    339
    Симпатии:
    19
    так
    или все вместе?

    [​IMG]

    [​IMG]
    а 677 строка
    это пустое поле
     
  12. spy

    spy

    Регистрация:
    15 янв 2013
    Сообщения:
    468
    Симпатии:
    137
    Я так понимаю, что пхп впервые видиш) :Morning:
    просто так можеш
    PHP:
    <?php foreach ($discounts as $discount) { 
    $priceSpecial = ($price $discount['price']) * $discount['quantity'];
    echo 
    $priceSpecial;
    ?>
     
  13. etens1212

    etens1212

    Регистрация:
    1 май 2013
    Сообщения:
    339
    Симпатии:
    19
    Ну да
    не сейчас только изучаю
    но планирую серьезно заняться js

    [​IMG]
    228.25
    вот, что выводит
    в не зависимости от количества
     
    Последнее редактирование: 20 авг 2017
  14. spy

    spy

    Регистрация:
    15 янв 2013
    Сообщения:
    468
    Симпатии:
    137
    у тебе ща ошибка что гдето скобку не закрыл))
    и лучше повыводи что у тебя в дисконт приходит, может там нулл или вобще не работает из-за модуля(типо авто цена) перебивать может)
     
  15. etens1212

    etens1212

    Регистрация:
    1 май 2013
    Сообщения:
    339
    Симпатии:
    19
    модулей дополнительных не стоит в
    выводит правильно
    но печаль (
    оно показывает именно скидку для 5 товаров и не учитывает моей количества
     
  16. spy

    spy

    Регистрация:
    15 янв 2013
    Сообщения:
    468
    Симпатии:
    137
    что в каждой переменной?
    $price
    $discount['price']
    $discount['quantity']
     
  17. etens1212

    etens1212

    Регистрация:
    1 май 2013
    Сообщения:
    339
    Симпатии:
    19
    $price = 95.65 грн.
    $discount['price'] = 50.00грн.
    $discount['quantity'] = 5

    но оно работает следующим образом
    данные и оно выводит
    но не берет данных от количества

    то есть не показывает там
    что 1 товар ваша экономия 0 грн
    когда я щелкаю до 5 количество
    тогда уже экономия ... грн
     
  18. spy

    spy

    Регистрация:
    15 янв 2013
    Сообщения:
    468
    Симпатии:
    137
    все правильно, ты просил вывести экономию, так и работет
    и все правильно по коду работает
    (95 - 50) *5 =225
    а потом выводиш (при покупке от $discount['quantity'] упаковок, экономите - $priceSpecial грн)
     
  19. etens1212

    etens1212

    Регистрация:
    1 май 2013
    Сообщения:
    339
    Симпатии:
    19
    а чтобы оно обновлялось от количества
    надо уже, какой js писать?
     
  20. spy

    spy

    Регистрация:
    15 янв 2013
    Сообщения:
    468
    Симпатии:
    137
    ну конечно, это ж уже динамика
    можеш отслеживать изменение инпута и при 5 - показать экономию, а до этого скрывать
    --- Добавлено, 20 авг 2017 ---
    $('#input-quantity').val();
    получеш число в инпуте
    ну и добавляеш функцию на клик +/- и за онченч не забудь тоже)
    ну я думаю разбереся, js вроди писал что знаеш))