Вопросы

Синхронизация с МойСклад через mSync - дробное количество товара в заказе

Добрый день!

Вопрос автору компонента или тем, кто использовал mSync для синхронизации с МойСклад.
Сайт — интернет-магазин морепродуктов. Количество товара на сайте может быть дробным. Часть товаров считается штуками, часть — килограммами. И количество может быть, например, 0,4 кг. Клиенту нужно настроить синхронизацию и выгрузку заказов с сайта.

Вопрос: возможен ли учет товара дробными числами? И возможно ли как-то передавать единицу измерения количества, или она задается одна для всех товаров?

Реально ли все это на стороне компонента и на стороне МойСклад?

Очень прошу дать ответ.
Svetlana S
15 мая 2020, 10:53
modx.pro
1 104
0

[[*РЕШЕНО]] msProductOptions сортировка

Сортировка работает следующим образом. Есть id опций, так получилось что не id 1, 2. Начинается с 3.
При выводе на сайте сортировка начинается с id 21 и далее по порядку. А id 3,4 и до двадцатого выводятся в конце. Из-за чего вывод на сайте выглядит нелогичным. Как можно это исправить?

[[!msProductOptions?
&tpl=`prodPage_option-tpl`
&ignoreOptions=`availability`
&groups=`Опции для карточки`
&sortby=`id`
&sortdir=`DESC`
]]
Скрины





Можно как-то в ручную сортировать? Сейчас поля sortby и sortdir вообще никакой роли на вывод не играют. Ставь хоть asc хоть desc выводит одинаково.
Юрий
15 мая 2020, 08:23
modx.pro
1 691
0

Смена языка чтобы ajaxsnippet заработал.

Доброго времени суток всему комьюнити modx.
Столкнулся вот с такой дилеммой.
Как сделать так чтобы заработал плагин ajaxsnippet.
Когда я отключаю $modx->cacheManager->refresh(); в коде который отвечает за смену языка
Пример кода:
<?php
if($modx->context->get('key')!="mgr"){
        switch($_REQUEST['cultureKey']){
            case 'uk':
                $modx->setOption('cultureKey', 'uk');
                $modx->cacheManager->refresh();
                break;
            case 'ru':
                $modx->setOption('cultureKey', 'ru');
                $modx->cacheManager->refresh();
                break;
            default:
                $modx->setOption('cultureKey', 'uk');
                break;
        }
    }
Все работает, но не работает смена языка.
Смена языка реализована с помощью cultureKey, а именно [[++cultureKey:is=`uk`:then=`123123123`]]. Мы смотрим что у нас в cultureKey и в зависимости что там работает мультиязычность.
Важное замечание!
Пользователь авторизован.
Сергій
15 мая 2020, 06:25
modx.pro
674
0

Как создать ресурс из formit и вставить в tv картинку?

Задача такая. Хочу через фронтенд заполнять форму formit, а после отправки данной формы, чтобы создавался новый ресурс и в него записывалась картинка, соответственно поле имеет формат Изображение.
Как реализовать данный хук для formit подскажите, пожалуйста. Про это есть пост, но у меня не работает данный функционал.
Никита Серов
14 мая 2020, 19:01
modx.pro
991
0

Убрать товары с ценой "0". Minishop2.

Привет.

Можно ли как-то отключить показ товаров с нулевой ценой в Minishop2?
Anton_red
14 мая 2020, 15:59
modx.pro
1 214
0

Работа с корзиной minishop через Api

Подскажите пожалуйста, как программно через api в корзину minishop2 положить товар по артикулу?
Batys
14 мая 2020, 13:55
modx.pro
3
1 842
+1

Время в modX и minishop2

Подскажите пожалуйста, можно ли сделать так чтобы время создания заказов показывалось не серверное, а то которое я укажу? Не нашел настроек часового пояса. server_offset_time указывал, ни какой реакции
Algirdas
14 мая 2020, 13:49
modx.pro
981
0

Как снизить нагрузку при подсчете кол-во в pdoMenu дочерних ресурсов?

Всем известно, что есть
[[+children]]
при включенной настройке
&countChildren=`1`
Но
[[+children]]
не даёт, тот результат, так как меню двух уровневое и подсчет кол-ва вывожу в
&tplParentRow=`tpl.ParentRow`
Следовательно исходя из примеров
Вывожу в чанк родителя:
([[countChildren? &parent=`[[+id]]`]])
но, в pdoMenu количество вложенных ресурсов сильно нагружает сервер

сниппет countChildren, который вызывает нагрузку
<?php
$count = 0;
$parent = isset($parent) ? (integer) $parent : 0;

// Define Parents
$q = $modx->newQuery('modResource');
$q->select(array(
    'id',
    'parent'
));
$q->prepare();
$q->stmt->execute();
$res = $q->stmt->fetchAll(PDO::FETCH_ASSOC);

$parent_ids = array($parent);
foreach ($res as $v) {
    if (in_array($v['parent'], $parent_ids) AND !in_array($v['id'], $parent_ids)) {
        $parent_ids[] = $v['id'];
    }
}

$q = $modx->newQuery('modResource');
$q->where(array(
    'parent:IN' => $parent_ids,
    'isfolder' => false,
    'published' => true
));
$q->select(array(
    'id'
));
$q->prepare();
$q->stmt->execute();
$count = count($q->stmt->fetchAll(PDO::FETCH_ASSOC));
$output = $count;
$modx->cacheManager->set($count, $output);

return (string) $output;
Есть ли менее нагружаемый скрипт, который делает всё тоже самое, кроме нагружаемости?
R2m0x94 (Vasily)
14 мая 2020, 12:45
modx.pro
857
+1

Минимальная сумма заказа minishop2

Ребята, как сделать минимальную сумму заказа для выбранного способа доставки.
if ($modx->event->name == 'msOnSubmitOrder'){
        if($cart = $order->ms2->cart->status()) {
            if($cart['total_cost'] < 1000) {
                $modx->event->output('Сумма вашего заказа должна превышать 1000 руб!');
            } 
        }
}
Работает этот способ, но независимо от выбранного способа доставки.
Как сделать, например, чтобы если «самовывоз» то нет ограничения по минимальной сумме.
Андрей
14 мая 2020, 12:35
modx.pro
3
3 295
+1

Изменить категорию товара Minishop2

Приветствую!
Столкнулся с такой проблемой — невозможно изменить категорию товара в Minishop2.
При попытке перетаскивания товара на другую категорию — выводит перечеркнутый красный кружок.

При смене через вкладку Категории — не дает снять галку с первоначальной категории.

Товары загружал через import.csv Может в этом какая-то загвоздка.
Есть у кого идеи?
Павел
14 мая 2020, 12:26
modx.pro
826
0