Всего 125 671 комментарий

Lori
23 декабря 2020, 11:08
0
Ситуация такая. Я сделал сайт для снабженцов компании: они выбирают товары из каталога, добавляют их в заявки (корзина) и сохраняют их (оформление заказа). Руководство выделяет деньги в соответствии с суммой заявки каждому снабженцу. Товары разные: строительные материалы, продукты, хозтовары, также есть такие позиции как парковка, мойка и заправка. Цены могут меняться с каждым разом, поэтому помимо обычной цены я добавил еще одно поле «Цена покупки», чтобы если расходы были ниже или выше, чем в заявке, снабженцы могли это указать перед закрытием заявки и руководство видело из-за чего другая сумма. Так вот, очень неудобно было бы менять все в наименьшую сторону, так как снабженцам помимо их рабочих суматох еще и придется перед заполнением считать цены: вместо КГ в Г, вместо М в СМ, вместо М2 в СМ2 — тут 100% будут ошибки.

Я путем велосипеда добавил возможность указывать дробное количество, но оно только в корзине. В каталоге, после оформления заказа (заявки) и в админке указываются все равно целые числа, хотя сумма считается правильно, т.е. учитываются дробные, а сам count почему-то все равно целое число.
weranda
23 декабря 2020, 11:03
0
Я не ас в этой теме, но если меню закешировано, то такое событие происходит единожды — при первом открытии страницы, потом это дело все кешируется.
Сергей
23 декабря 2020, 10:34
0
Добрый день!
Проверьте пожалуйста еще редактор tinymce в категориях. На товарах работает, а на категориях нет. (может конечно и другой редактор не будет работать, но есть 3 сайта с обновленным minishop2 и у них у всех этот баг).
И есть еще одна ошибка
pdotools/pdotools.class.php : 446) Recoverable error: Object of class msProductData_mysql could not be converted to string
Вроде как от pdotools но смущает class
Спасибо за ваш труд!
Роман
23 декабря 2020, 10:26
0
А что вы продаете, что у вас не целое число? Вообще в базе ms2_order_products, там установлено целое число, соответственно и в minishop2.mysql.schema.xml тоже указано целое число. Там вам много где придется править, поэтому лучше переведи вашу единицу измерения в меньшую сторону. Если продаете в литрах, переведите в миллилитры, если миллилитрах → микролитры
Lori
23 декабря 2020, 08:26
0
Проблема решилась, но появилась вторая.

После оформления заказа и в админке количество все равно указывается целым числом: если меньше одного, то 0, если больше, то ближайшее целое. Куда теперь ковырять, чтобы и там отображалось верно. Интересно то, что сумму считает верно, но вот именно count выводит неправильно после оформления заказа и в админке.
Евгений Ка
23 декабря 2020, 05:01
+1
Вау. Круть.
Сбрасывание старого багажа и старых дел это всегда освобождает. Чувствуешь облегчение и свободу.
Расправляются крылья.
Василий, всё правильно сделал — выбирай себя и тогда Жизнь выберет тебя.
Всё всегда случается наилучшим образом, просто порой это понимаешь уже спустя какое-то время.
Радуюсь твоему выбору себя.
Удачи! Желаю смело и решительно идти вперёд!
Всё будет хорошо. Всё уже хорошо!
Shedko Denis
23 декабря 2020, 00:29
0
Добрый вечер/день

Проясните как background-image задействовать.

Для сомневающихся — стоит ли тратить свое время(деньги) на то что уже реализовано и проще купить)
Сергей
22 декабря 2020, 17:56
0
Все норм, спасибо за код
Сергей Лим
22 декабря 2020, 17:29
0
вот рабочий пример
<?php
$tv_id = 15; //вместо 10 укажите ID Вашей MIGX-TV
$thisid = $modx->resource->id;
$res_id = $thisid; //вместо 12 укажите ID ресурса с этой MIGX-TV
 
$tipauto = $hook->getValue('tipauto'); // получаем значение поля title 
$marka = $hook->getValue('marka'); // получаем значение поля title
$gos = $hook->getValue('gos'); // получаем значение поля text
$gpt = $hook->getValue('gpt'); // получаем значение поля text


//Получаем объект TV
$tvr = $modx->getObject('modTemplateVarResource', array(
  'tmplvarid' => $tv_id,
  'contentid' => $res_id
));
if ($tvr == ''){
    $max = 1;
} else {
$tv = $tvr->get('value'); //получаем существующие данные из этой TV.

$arr = json_decode($tv, true); //преобразуем JSON в простой массив
$last = end($arr); //получаем последний элемент
$lastend = end ($last);
$max = $lastend['MIGX_id']; //узнаем значение MIGX_id для последнего элемента

$max++;} //увеличиваем на единицу
$new = array( //формируем новый элемент с новыми полями и MIGX_id
    'MIGX_id' => $max,
    'tipauto' => $tipauto,
    'marka' => $marka,
    'gos' => $gos,
    'gpt' => $gpt
    );
$arr[] = $new; //добавляем его в конец массива


$new_tv = json_encode($arr); //переводим итоговый массив в JSON-строку.
$modx->log(modX::LOG_LEVEL_ERROR, $new_tv );
$resource = $modx->getObject('modResource', $res_id); //Получаем объект ресурса с MIGX-TV
$resource->setTVValue($tv_id, $new_tv); //записываем данные
$resource->save();
return true;
Woxis
22 декабря 2020, 17:21
0
Добрый день, не могли бы вы описать подробнее данный прием, интересует где вы используете $hook. Ваш код работает записывает данные в migx, хотелось бы понять как записывать данные с фронта вернее как их передавать. Если вам не трудно опишите вашу реализацию подробнее.
Роман
22 декабря 2020, 17:05
0
Уже какой год эта проблема, но все и автор расширения усиленно её игнорирует, а над теми кто пытается прикрутить другую капчу, только потешается
Сергей
22 декабря 2020, 15:56
0
Извини возможно за глупый вопрос но я не понял как это использовать? В списке множественного выбора добавляю твой код со своим parents, разделитель "," но в ресурсе в поле пусто
Юрий Фомин
22 декабря 2020, 12:47
+1
никак :)
Потому как модификатор переводов предложений мной не для сортировки в сниппетах. Вывод перевода осуществляется в чанке [в вашем случае — chunks/tpl/coach.tpl].
Для сортировки в блоке where используйте обычную сортировку по тв.
Яна Митрофанова
22 декабря 2020, 12:36
0
Здравствуйте. Подскажите пожалуйста, как прописать TV такого вида в where?
Сейчас отрабатывает в случае если добавлена локализация
{'!ms2GalleryResources' | snippet : [
    'parents' => 12,
    'limit' => 0,
    'where' => [
         'sport' => $_modx->resource.id
    ],
    'sortby' => 'menuindex',
    'tpl' => '@FILE chunks/tpl/coach.tpl',
    'includeThumbs' => 'person',
    'tvPrefix' => '',
    'includeTVs' => 'sport,coach_category',
]}
Павел Гвоздь
21 декабря 2020, 20:55
0
1) да
2) можно, опционально
3) не знаю, юзайте modhost тестовый тариф
4) можно
Артем
21 декабря 2020, 16:53
0
Ну так не нужно хранить в базе битые ссылки, зачем они там нужны?
Пройдись в цикле по всем изображениям в базе, проверь их наличие через file_exists и актуализируй данные на основе наличия этих файлов.
Ну а потом просто добавь условие, которое тебе уже подсказали в другом треде.
Наумов Алексей
21 декабря 2020, 16:41
0
Посредством SQL запроса нет.
Да и проверять посредством php скрипта наличие файла на диске так себе идея.

Лучше битые ссылки исправьте.
Игорь Павлов
21 декабря 2020, 15:37
0
Вместо изображения нужного размера выводит оригинальное изображение. Куда рыть?

В источнике файлов:
{«small»:{«w»:500,«h»:500,«q»:90,«zc»:«0»,«bg»:«ffffff»},«medium»:{«w»:900,«h»:600,«q»:95,«zc»:«0»,«bg»:«000000»}}

На странице товара фото выводится практически стандартным чанком:
{if $files?}
<div class=«fotorama»
data-nav=«thumbs»
data-width=«100%»
data-thumbheight=«45»
data-allowfullscreen=«true»
data-swipe=«true»
data-autoplay=«5000»>
{foreach $files as $file}


{/foreach}

{else}
<img src="{'img/no-image.jpg'}"
alt="{$modx->resource->pagetitle}" title="{$modx->resource->pagetitle}" class=«img-fluid product-img»/>
{/if}