Всего 125 977 комментариев

Николай Савин
27 декабря 2021, 18:55
0
Мне кажется таких большинство. В особенности E-commerce
Александр Мельник
27 декабря 2021, 18:43
0
спасибо. Это несколько неожиданно, но для сайтов которые заточены только под одну или несколько стран — хорошее решение.
Николай Савин
27 декабря 2021, 18:28
+1
Я, например проверяю IP. Обратил внимание, что большинство запросов со спамом лезут из Европы. Потому чаще всего достаточно проверить страну отправителя. И если это не РФ (в моем случае Казахстан был) — то отклонять запрос.
Очень простенький хук на самом деле — и сильно спасает.
Не везде это конечно нужно, но в региональных магазинчиках сойдет
Вот пример кода для хука FormIT
$response = file_get_contents('https://ipwhois.app/json/?lang=ru&ip='.$_SERVER['REMOTE_ADDR']);
$response = json_decode($response, 1);
if(is_array($response)) {
    if($response['country_code'] === 'KZ') {
        return true;
    };
} 

return false;
Сuriosity
27 декабря 2021, 13:40
0
Все ваши новые поля поломаются, если, при внесении записи в это поле, вставить одинарную кавычку (апостроф).
Если следовать вашему примеру, то зайдя в профиль юзера, ​
в поле «Новое поле профиля» написать вместо:
Можно сохранять что угодно…
например
Можно сохранять что угод'но…

Сохраняем, заходим еще раз в профиль этого пользователя и вуаля… нового поля нет (а если было не одно новое поле, то и других бы тоже).

Неприятность находится здесь:
case "OnUserFormPrerender":
        if (!isset($user) || $user->get('id') < 1) {
            return;
        }

        if (!$modx->getCount('modPlugin', array('name' => 'AjaxManager', 'disabled' => false))) {
            $data['new_checkbox'] = $user->new_checkbox ? 'true' : 'false';
            $data['new_field'] = htmlspecialchars($user->Profile->new_field);
Внесите в код правку:
$data['new_field'] = htmlspecialchars($user->Profile->new_field, ENT_QUOTES);
Или, как вариант, впихнуть какую-то регулярку…
Надеюсь, это кому-то поможет.
Игорь Терентьев
27 декабря 2021, 09:46
+1
Привет, нужно открыть сниппет textGenerator и очистить этот параметр:
Иван Бочкарев
27 декабря 2021, 07:02
+2
Это не ошибка, а предупреждение.

Для отключения такого рода предупреждений установите системную настройку log_deprecated в состояние Нет
Фарит
Фарит
26 декабря 2021, 22:41
0
{'Это {скрипт|плагин|сниппет} генерации  {текстов|описаний|заголовков}  {для сайта|для {оптимизации|SEO}}' | textGenerator}
вот так не работает, всегда подтягивает текст из чанка: tpl.textGenerator.input

Как заставить работать? Кеши все чистил.
Николай Савин
24 декабря 2021, 20:07
0
json_encode возможно лишний
Евгений Webinmd
24 декабря 2021, 19:27
+1
попробуйте через программку postman, там потом позволяет сгенерировать код на нужном вам языке. ПОзволит исключить какие-то не явные ошибки (опечатка или лишний параметр)
Vladimir
24 декабря 2021, 18:30
0
Исправил
Для таких ошибок нужно смотреть в журналах по этому адресу /var/log/apache2 В журнале ошибок я обнаружил, что я использовал некоторые переменные в .htaccess, и мой сервер не поддерживал их, по логу нужно было включить 2 модуля.

$ sudo a2enmod headers
$ sudo a2enmod expires
$ systemctl restart apache2
Vladimir
24 декабря 2021, 18:08
0
Есть у кого инструкция как установить modx на VPS не нс нуля, сам пофикшу
R2m0x94 (Vasily)
24 декабря 2021, 17:03
0
Разумеется, если в настройке ms2_plugins была бы возможность добавлять плагины просто через запятую (например ms2_plugins: availability, custom_modules, deliverytime и т.д., которые подключены напрямую из папки plugins/), то отпали бы такие заметки, и деактивация плагинов проходила бы глаже при регистрации того же плагина в другое место.

Надеюсь на то, что в minishop3 появится такая возможность из коробки.
R2m0x94 (Vasily)
24 декабря 2021, 14:49
0
Привет, лично у меня при разработке ушло на это время, и я не смог понять, почему если я регистрирую плагин относительно пути
/plugins/order/custom_modules/index.php
И вдруг захотел сменить путь на более удобный
/plugins/custom_fields/index.php
У меня появляется эта ошибка, сразу задался вопросом, а как же происходит регистрация плагинов, но ответа не нашел, поэтому и решил проблему таким способом
/plugins/custom_fields/ms2/index.php
Странно, но работает))
R2m0x94 (Vasily)
24 декабря 2021, 14:29
0
Да, и главное не надо боятся переименовывать, переносить папки и файлы указывая правильные пути на сервере, а также переименовывать результат в ms2_plugins, чтобы не трогать бэкапы.
SELECT * FROM `modx_system_settings` WHERE `key` LIKE 'ms2_plugins'
Beegart
24 декабря 2021, 12:46
0
Здравствуйте, как избравиться от ошибки при установке?

modAction support is deprecated since version 2.3.0. Support for modAction has been replaced with routing based on a namespace and action name. Please update the extra with the namespace videogallery to the routing based system.
Павел Гвоздь
24 декабря 2021, 12:01
+2
Возможно человек нашёл решение проблемы и решил поделиться с теми, кто будет решать такую же. В любом случае, чем больше решённых вопросов в сообществе, тем лучше.
Pavel
24 декабря 2021, 09:34
0
Подскажите пожалуйста. Не рисуются графики. Текс есть, Всего заказов есть. А графиков нет. В чем может быть проблема?
Николай Савин
23 декабря 2021, 20:51
0
Этот вопрос написан почти четыре года назад! Зачем на него отвечать?
R2m0x94 (Vasily)
23 декабря 2021, 19:26
1
0
На всякий случай если не заработает, то
// удаляем плагин
if ($miniShop2 = $modx->getService('miniShop2')) {
    $miniShop2->removePlugin('cart');
}
// добавляем вновь
$plugin = '{core_path}components/minishop2/plugins/cart/availability/index.php';
if ($miniShop2 = $modx->getService('miniShop2')) {
    $miniShop2->addPlugin('availability', $plugin);
}
// результат в ms2_plugins: {"availability":"{core_path}components\/minishop2\/plugins\/cart\/availability\/index.php"}

/* Вложенность иерархии в дереве и подключение, тоже имеют значение:
plugins
|_cart
|_|_availability
|_|_|_index.php
|_|_|_msproductdata.map.inc.php
*/