Вопросы
Убрать товары с ценой "0". Minishop2.
Привет.
Можно ли как-то отключить показ товаров с нулевой ценой в Minishop2?
Можно ли как-то отключить показ товаров с нулевой ценой в Minishop2?
Работа с корзиной minishop через Api
Подскажите пожалуйста, как программно через api в корзину minishop2 положить товар по артикулу?
Время в modX и minishop2
Подскажите пожалуйста, можно ли сделать так чтобы время создания заказов показывалось не серверное, а то которое я укажу? Не нашел настроек часового пояса. server_offset_time указывал, ни какой реакции
Как снизить нагрузку при подсчете кол-во в pdoMenu дочерних ресурсов?
Всем известно, что есть
Вывожу в чанк родителя:
сниппет countChildren, который вызывает нагрузку
[[+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;Есть ли менее нагружаемый скрипт, который делает всё тоже самое, кроме нагружаемости? Минимальная сумма заказа minishop2
Ребята, как сделать минимальную сумму заказа для выбранного способа доставки.
Как сделать, например, чтобы если «самовывоз» то нет ограничения по минимальной сумме.
if ($modx->event->name == 'msOnSubmitOrder'){
if($cart = $order->ms2->cart->status()) {
if($cart['total_cost'] < 1000) {
$modx->event->output('Сумма вашего заказа должна превышать 1000 руб!');
}
}
}Работает этот способ, но независимо от выбранного способа доставки.Как сделать, например, чтобы если «самовывоз» то нет ограничения по минимальной сумме.
Изменить категорию товара Minishop2
Приветствую!
Столкнулся с такой проблемой — невозможно изменить категорию товара в Minishop2.
При попытке перетаскивания товара на другую категорию — выводит перечеркнутый красный кружок.

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

Товары загружал через import.csv Может в этом какая-то загвоздка.
Есть у кого идеи?
Столкнулся с такой проблемой — невозможно изменить категорию товара в Minishop2.
При попытке перетаскивания товара на другую категорию — выводит перечеркнутый красный кружок.

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

Товары загружал через import.csv Может в этом какая-то загвоздка.
Есть у кого идеи?
Как сменить базу данных?
Здравствуйте.
Могу я как-то изменить бд mysql, которую сейчас использует MODX? У него же, наверное, есть какой-то конфиг где написано имя используемой БД?
Могу я как-то изменить бд mysql, которую сейчас использует MODX? У него же, наверное, есть какой-то конфиг где написано имя используемой БД?
Не работает reCaptchaV3
Добрый вечер!
Подскажите, пожалуйста, с настройкой 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`
]] Пропали все приложения из магазина modstore
[miniShop2] Как идентифицировать на фронтенде товар, успешно добавленный в корзину?
В каталоге нужно обратиться к товарам в DOM через JS, но надо как-то идентифицировать товар, который был добавлен в корзину и обработан бэкенд-плагинами MODX.
Использую данный callback на фронтенде для отлова события товара, успешно добавленного в корзину:
Использую данный callback на фронтенде для отлова события товара, успешно добавленного в корзину:
document.addEventListener('DOMContentLoaded', function () {
if (typeof miniShop2 !== 'undefined') {
miniShop2.Callbacks.add('Cart.add.response.success', 'add_ok', function (response) {
console.log(response);
});
}
});В ответе получаю только ключ товара в корзине, но никак ни его идентификатор, по которому добавленный товар можно найти на странице
