Всего 123 794 комментария

Андрей Шевяков
09 августа 2023, 15:42
0
Направление уловил. Спасибо. Пошел изобретать.
Донатик на развитие miniShop2 сейчас закину.
Николай Савин
09 августа 2023, 15:37
+1
Навскидку, без реального кейса под рукой.
Я бы написал плагин на событие msOnGetOrderCost
Схема плагина будет вот такого примерно вида

if ($cost < 7000) {return true;}
// тут проверяю состав корзины, не лежит ли уже подарок там
$cartArr = $cart->get();
foreach($cartArr as $row) {
    // Если уже есть подарок выходим 
    return true;
}
// если дошли сюда пора добавлять подарок
$cart->add($id);
Андрей Шевяков
09 августа 2023, 15:29
0
Николай, направь пожалуйста на правильный путь, где может примеры есть? Или что-то подобное.
Хочется разобраться самому с такой задачей. Я понимаю что наверное тут с самого начала уже подход не верный у меня.
Андрей Шевяков
09 августа 2023, 14:38
0
Спасибо, попробую ваш скрипт.
msGiftCart с последним минишопом конфликтует, там никак не пофиксят.
Андрей
09 августа 2023, 14:25
0
Что то типа такого нужно:
set id = 488; // тут id товара
$.ajax({
    type: "POST",
    url: "[[++site_url]]assets/components/minishop2/action.php",
    data: "id=" + id + "&count=1&options=[]&ms2_action=cart/add&ctx=web",
    success: function(msg) {
        alert('товар добавлен в корзину');
    }
});

Либо как вариант использовать дополнение для управления подарками — msGiftCart
Андрей
09 августа 2023, 14:01
+1
Используй пакет — ReCaptchaV2, он совместим с MODX 3.
Дмитрий
08 августа 2023, 16:38
0
удалось решить проблему с ошибкой «Не удалось получить конфиг формы»?
Николай Савин
08 августа 2023, 14:47
+1
Ну и о чем мы говорим. Ясно же написано:
  • по номеру мобильного телефона в порядке, который установит правительство. По общему правилу владелец ресурса должен заключить с оператором связи договор об идентификации;
  • через ЕСИА;
  • с помощью единой биометрической системы по особым нормам об идентификации и аутентификации;
  • с использованием иной системы, которая отвечает требованиям к защите информации. Владельцем этой системы должен быть россиянин без иного гражданства или отечественное юрлицо.
То есть перевожу.
1) Можно регистрировать через SMS, через дозвоны и иные способы связи по номеру телефона
2) Гос услуги
3) Биометрия (тут без понятия)
4) Через российские соцсети, российские почтовые аккаунты и другие российские сервисы, хранящие персональные данные.

Тут выбор по сути каким был, таким и остался. Иностранную запрещенку только запретили повторно и все.
Матвей
08 августа 2023, 11:12
0
С 1 декабря 2023 года владелец сайта, программы или иного интернет-ресурса, который предусматривает авторизацию пользователей, обязан проводить ее одним из таких способов:
по номеру мобильного телефона в порядке, который установит правительство. По общему правилу владелец ресурса должен заключить с оператором связи договор об идентификации;
через ЕСИА;
с помощью единой биометрической системы по особым нормам об идентификации и аутентификации;
с использованием иной системы, которая отвечает требованиям к защите информации. Владельцем этой системы должен быть россиянин без иного гражданства или отечественное юрлицо.
Ограничение нужно будет соблюдать российским организациям и гражданам с интернет-бизнесом в РФ. Перечисленные способы авторизации распространят на пользователей, которые находятся в России.
Есть и другие новшества.

Документ:
Федеральный закон от 31.07.2023 N 406-ФЗ

Полезные ссылки:
Федеральный закон от 29.12.2022 N 572-ФЗ
«Об осуществлении идентификации и (или) аутентификации физических…
Федеральный закон от 27.07.2006 N 149-ФЗ
(ред. от 29.12.2022)
»Об информации, информационных технологиях…
Николай Савин
08 августа 2023, 10:40
0
Для подобных утверждений нужны ссылки на доказывающие материалы. Я подобных законов не видел, только проекты. А ведь кроме закона должны быть еще пояснения, разрешенная схема работы, и практика прецедентов
Матвей
08 августа 2023, 09:57
0
Приняли закон. Примерно с сентября все сайты, требующие авторизации, должны обеспечивать её через Госуслуги…
Дмитрий Середюк
07 августа 2023, 22:43
0
Попробуйте вот так
'optionFilters' => [
'brand'=>$_modx->resource.pagetitle
]
Баха Волков
07 августа 2023, 13:29
+1
Сорри, исправил, ночью писал, перепутал с самим php
Константин Ильин
07 августа 2023, 08:58
+1
В феноме только так ведь конкатенация и частенько лучше в скобку.
'optionFilters' => ('{"brand":"' ~ $_modx->resource.pagetitle ~ '"}')
Точки это в PHP

во втором случае тоже желательно в скобки)
Александр Туниеков
07 августа 2023, 04:50
+1
Ссылки на документацию слетели. Домен не прилинкован. Не хорошо. Компонент продаете так документацию не теряйте плиз.
Нашел документацию. docs.modx.pro/components/googlesheets/ поправте ссылки в описании компонента на модсторе
Баха Волков
06 августа 2023, 21:56
0
Изучайте документацию. В вашем случае, вы можете использовать конкатенацию:

'optionFilters' => '{"brand":"' ~ $_modx->resource.pagetitle ~ '"}'

// или

'optionFilters' => ['brand' => $_modx->resource.pagetitle] | toJSON,
Александр
06 августа 2023, 13:43
0
мне кстати сейчас в modx 3, поставленной сегодня выдает Array в ответ на {'metaTitle' | resource}
Prihod
05 августа 2023, 15:46
0
Значит у тебя версия php 8 или выше
Андрей
05 августа 2023, 15:41
0
Добрый день! Тоже не получается совершить импорт (терпит неудачу). Настройки все производил согласно видео инструкции. Вот логи:

Array
(
[type] => 1
[message] => Uncaught Error: Unknown named parameter $reader in /home/user/web/stairsworkshop.ru/public_html/core/components/msimportexport/handlers/readers/msiereader.class.php:122
Stack trace:
#0 /home/user/web/stairsworkshop.ru/public_html/core/components/msimportexport/handlers/readers/msiexlsxreader.class.php(63): MsIeReader->fireEvent()
#1 /home/user/web/stairsworkshop.ru/public_html/core/components/msimportexport/handlers/workers/msieimportworker.class.php(59): MsIeXLSXReader->read()
#2 /home/user/web/stairsworkshop.ru/public_html/core/components/msimportexport/handlers/workers/msieworker.class.php(119): MsIeImportWorker->process()
#3 /home/user/web/stairsworkshop.ru/public_html/core/components/msimportexport/model/msimportexport/msietask.class.php(212): MsIeWorker->run()
#4 /home/user/web/stairsworkshop.ru/public_html/core/components/msimportexport/handlers/managers/msietaskmanager.class.php(96): MsieTask->run()
#5 /home/user/web/stairsworkshop.ru/public_html/core/components/msimportexport/handlers/watchers/msiewatcher.class.php(284): MsIeTaskManager->run()
#6 /home/user/web/stairsworkshop.ru/public_html/core/components/msimportexport/handlers/watchers/msiewatcher.class.php(123): MsIeWatcher->process()
#7 /home/user/web/stairsworkshop.ru/public_html/core/components/msimportexport/scripts/watcher.php(18): MsIeWatcher->run()
#8 {main}
thrown
[file] => /home/user/web/stairsworkshop.ru/public_html/core/components/msimportexport/handlers/readers/msiereader.class.php
[line] => 122
)