Вопросы

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

Привет.

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

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

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

Время в modX и minishop2

Подскажите пожалуйста, можно ли сделать так чтобы время создания заказов показывалось не серверное, а то которое я укажу? Не нашел настроек часового пояса. server_offset_time указывал, ни какой реакции
Algirdas
14 мая 2020, 13:49
modx.pro
968
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
850
+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 273
+1

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

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

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

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

Как сменить базу данных?

Здравствуйте.
Могу я как-то изменить бд mysql, которую сейчас использует MODX? У него же, наверное, есть какой-то конфиг где написано имя используемой БД?
Andrey
14 мая 2020, 08:53
modx.pro
1 788
0

Не работает reCaptchaV3

Добрый вечер!

Подскажите, пожалуйста, с настройкой reCaptchaV3.
Прописал публичный и секретный ключи.

Форму настроил по инструкции.
Но отправка формы не срабатывает на странице, а спам всё равно проходит.

Вызов формы:
[[!AjaxForm?
            &snippet=`FormIt`
            &form=`AjaxForm.callback`
            &hooks=`spam,email,FormItSaveForm,rcv3`
            &customValidators=`formit2checkfile`
            &emailTo=`[[++publick_email]]`
            &emailFrom=`[[++emailsender]]`
            &emailTpl=`formCallbackTpl`
            &emailFromName=`[[++site_name]]`
            &emailSubject=`Заявка с сайта «[[++site_name]]»`
            &validate=`callbackfio:required:stripTags, callbacktel:stripTags, callbackantispam:maxLength=^0^, callbackmail:required:stripTags, upload:formit2checkfile`
            &submitVar=`callbackbtn`
            &validationErrorMessage=`В форме содержатся ошибки!`
            &successMessage=`Наш менеджер перезвонит вам в ближайшее время.`
            &rcv3Action=`contactform`
        ]]
Денис
13 мая 2020, 22:17
modx.pro
4 016
0

Пропали все приложения из магазина modstore

Пока что на трех сайтах наблюдаю такую картину — перехожу в установку приложений, выбираю поставщик modstore и вижу надпись Всего пакетов у этого поставщика: 0
Александр Мельник
13 мая 2020, 16:25
modx.pro
888
0

[miniShop2] Как идентифицировать на фронтенде товар, успешно добавленный в корзину?

В каталоге нужно обратиться к товарам в DOM через JS, но надо как-то идентифицировать товар, который был добавлен в корзину и обработан бэкенд-плагинами MODX.

Использую данный callback на фронтенде для отлова события товара, успешно добавленного в корзину:
document.addEventListener('DOMContentLoaded', function () {
		if (typeof miniShop2 !== 'undefined') {
			miniShop2.Callbacks.add('Cart.add.response.success', 'add_ok', function (response) {
				console.log(response);
			});
		}
	});
В ответе получаю только ключ товара в корзине, но никак ни его идентификатор, по которому добавленный товар можно найти на странице
Fullstack
12 мая 2020, 20:41
modx.pro
1 427
0