Lori

Lori

С нами с 13 октября 2014; Место в рейтинге пользователей: #351
Lori
24 декабря 2020, 15:03
0
эх, скажу честно и с сожалением, что единственное, что я могу сделать — это добавить 3ий параметр… наведите дальше пожалуйста. Добавлю параметр 3ий, сохраню новый orders.grid.js, вернусь в заказы в админке в minishop2 верно? Дальше в консоли что-то писать?
Lori
23 декабря 2020, 14:16
0
1) Решение актуальное на сегодня в этом комменте.
2) Также надо изменить в таблице ms2_order_products тип count с int(10) на float.
3) Чтобы была возможность добавлять дробное число в корзину с каталога, достаточно в чанке tpl.msProducts.row (или в вашем аналоге) для инпута с name=«count» step=any
Lori
23 декабря 2020, 13:01
0
Нет, это никак не связано с этим. Потому что ошибка Введите допустимые значения. Ближайшие допустимые значения... выходит именно из-за того, что я ввожу дробное число, не важно больше или меньше 1.
Lori
23 декабря 2020, 11:34
0
Да, изменил в БД тип count с integer на float. Теперь и в админке и после оформления заказа показывается дробное число. Но остался один момент: не подскажите почему в каталоге (сниппет msProducts) не получается добавить дробное число в корзину, т.е. я его могу изменить только в самой корзине уже, но не перед добавлением.
Lori
23 декабря 2020, 11:08
0
Ситуация такая. Я сделал сайт для снабженцов компании: они выбирают товары из каталога, добавляют их в заявки (корзина) и сохраняют их (оформление заказа). Руководство выделяет деньги в соответствии с суммой заявки каждому снабженцу. Товары разные: строительные материалы, продукты, хозтовары, также есть такие позиции как парковка, мойка и заправка. Цены могут меняться с каждым разом, поэтому помимо обычной цены я добавил еще одно поле «Цена покупки», чтобы если расходы были ниже или выше, чем в заявке, снабженцы могли это указать перед закрытием заявки и руководство видело из-за чего другая сумма. Так вот, очень неудобно было бы менять все в наименьшую сторону, так как снабженцам помимо их рабочих суматох еще и придется перед заполнением считать цены: вместо КГ в Г, вместо М в СМ, вместо М2 в СМ2 — тут 100% будут ошибки.

Я путем велосипеда добавил возможность указывать дробное количество, но оно только в корзине. В каталоге, после оформления заказа (заявки) и в админке указываются все равно целые числа, хотя сумма считается правильно, т.е. учитываются дробные, а сам count почему-то все равно целое число.
Lori
23 декабря 2020, 08:26
0
Проблема решилась, но появилась вторая.

После оформления заказа и в админке количество все равно указывается целым числом: если меньше одного, то 0, если больше, то ближайшее целое. Куда теперь ковырять, чтобы и там отображалось верно. Интересно то, что сумму считает верно, но вот именно count выводит неправильно после оформления заказа и в админке.
Lori
07 декабря 2020, 12:24
0
разобрался, спасибо большое!
Lori
07 декабря 2020, 12:19
0
Пардон, маленько неправильно выразился. куда мне нужно вернуть галочки, чтобы в меню был minishop2 и возможность видеть и управлять заказами? А то сейчас только «Содержимое->Перейти на сайт»
Lori
04 декабря 2020, 10:07
0
точно, нашел! оказалось так просто! спасибо большое :)
Lori
04 декабря 2020, 10:05
0
а где это можно изменить? оО в системных настройках?
Lori
04 декабря 2020, 09:55
0
Спасибо, сейчас ознакомлюсь
Lori
02 декабря 2020, 14:37
0
спасибо большое, решилось само по себе после очистки кэша…
Lori
02 декабря 2020, 13:40
0
не работает, выводит странное число
Lori
02 декабря 2020, 13:03
0
эти переменные были в шаблоне tpl.msGetOrder — не я их создавал. Да и в любом случае, даже используя просто $total.weight и $total.cost я получаю тоже самое. Не знаю как преобразовать строку в число
Lori
02 декабря 2020, 12:53
0
вроде понял. обе переменные пусть и принимают числовые значения, но являются строками. нужно просто конвертировать строки в числа перед вычислением
Lori
02 декабря 2020, 12:44
0
это же общий вес и общая стоимость товаров в корзине. Если выводить просто по отдельности, то нормальные числа, но как только делаю математические операции, то они оба будто определяются как 1.
Lori
02 декабря 2020, 12:35
0
да, верно. при этом выводится 0, если $total.cart_cost меньше $total.cart_weight, и выводится 1 если наоборот
Lori
02 декабря 2020, 12:03
0
извини за назойливость. я все таки смог изменить значение weight и теперь переименовал эту графу. теперь мне нужно вывести разницу total_price и total.weight, но когда я пишу в чанке так:
{$total.cart_cost - $total.cart_weight}
то у меня выводится либо 0 либо 1. Подскажи как сделать такую простую вещь?
Lori
02 декабря 2020, 11:18
0
да, на вкладке элементы, галочку давно поставил
Lori
02 декабря 2020, 11:03
0
ладно друг, спасибо большое за уделенное время, но видимо я все таки не справлюсь с этой задачей. Сделал все, в логе только «Невозможно запустить функцию mail», пробовал выводить и на фронте. Заказ в админке появляется но со старыми ценами. Плагина код:
<?php
switch ($modx->event->name) {
        case 'msOnChangeInCart':
            $modx->log(1, print_r($_POST,1,'HTML'));
            $tmp = $cart->get();
            $modx->log(1, print_r($tmp,1,'HTML')); 
            $tmp[$key]['price'] = $_POST['price2'];
            $cart->set($tmp);
         break;
}
Форма на сайте
<form method="post" class="ms2_form" role="form">
                                <input type="hidden" name="key" value="{$product.key}"/>
                                <div class="form-group">
                                    <div class="input-group input-group-sm">
                                        <input type="number" name="price2" value="" class="form-control"/>
                                        <div class="input-group-append">
                                            <span class="input-group-text">{'ms2_frontend_currency' | lexicon}</span>
                                        </div>
                                    </div>
                                    <button class="btn btn-sm" type="submit" name="ms2_action" value="cart/change">↻</button>
                                </div>
                            </form>