Вопросы

Смена языка чтобы 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
665
0

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

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

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

Привет.

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

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

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

Время в modX и minishop2

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

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

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

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

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

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

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