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

Дмитрий
1 час назад
0
вот этот сниппет

require_once MODX_CORE_PATH . 'model/modx/modx.class.php';
$modx = new modX();
$modx->initialize('web');

$modx->getService('mail', 'mail.modPHPMailer');
$modx->mail->set(modMail::MAIL_BODY, 'Test message');
$modx->mail->set(modMail::MAIL_FROM, 'info@iflower-shop.ru');
$modx->mail->set(modMail::MAIL_FROM_NAME, 'Test');
$modx->mail->set(modMail::MAIL_SUBJECT, 'Test subject');
$modx->mail->address('to', 'the_guard@mail.ru');
$modx->mail->setHTML(true);
$sent = $modx->mail->send();
$modx->mail->reset();

echo $sent ? 'Sent' : 'Not sent';
замечательно отправляет письмо на мейл, письмо приходит и все в порядке.
Дмитрий
7 часов назад
0
у меня вот такие ТХТ записи присутсвуют
мой_домен: v=spf1 include:_spf.timeweb.ru ~all
_dmarc.мой_домен: v=DMARC1; p=quarantine;
dkim._domainkey.мой_домен: k=rsa;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC4HhKuDyzHBH6pVnfIxDDKhney5XIWQXFY2HlCrdfDKtj0wzbzhfCBdkgiRFng8SCXE2jB93e+ZsmbMoJ2WeADqa5LdRo9IPonjeAPUjh7KxV04psRZO/lVmLeQRjxw+exXRml+9797Yqo09BUNedNv0QHGAaYFj+pwgF4Hfg6FQIDAQAB

Не знаю, что означает эта абракадабра =)
Этого достаточно? или нужны еще какие-то доп настройки?
Дмитрий
7 часов назад
0
спасибо за ссылку, а что делать если письмо туда вообще не доходит?
Maks
Вчера в 20:15
0
Хотел проверить еще раз, теперь все работает. Спасибо.
Николай Савин
Вчера в 19:25
0
Какая у тебя версия PHP и MODX?
Сайт работает через HTTPS?
Другие компоненты modstore отображаются?
Maks
Вчера в 17:49
0
Не дает установить последнюю бета ту что в модсторе. Жму на дополнение из списка дополнений а там ничего нет. Как будто доступа нет или прав. Такая ситуация как с платными компонентами.
Николай Савин
03 января 2026, 19:53
+1
Да, разумеется. Сразу после поиска и фильтров. Планирую уже в январе. Если повезет даже в текущем ))
Madao
03 января 2026, 17:12
+1
Планируется для опций товара возможность указания разных цен (аналог msOtionsPrice)?
Ибо это дополнение никак не развивается и не дорабатывается, и портироваться под MiniShop3 скорее всего не будет (даже сейчас есть проблемы по работе этого дополнения, которые никак не исправляются), а необходимость в таком функционале имеется и желательно в движке из коробки.
Дмитрий
30 декабря 2025, 22:52
+1
Почему-то прочитал это голосом комментатора из Дома 2… Только про Minishop 3!) Спасибо всем за вклад в развитие и, достаточно неплохие итоги года)
Артур Шевченко
30 декабря 2025, 22:11
+1
Спасибо, Николай, что не бросаешь нас и развиваешь сообщество своим примером!
Денис Усманов
30 декабря 2025, 22:07
0
Жаль про бота в ТГ ничего не написано, но да ладно, то отдельная от сайта тема)
Михаил
29 декабря 2025, 12:02
1
+2
<?php
define('MODX_API_MODE', true);
require 'index.php';
$member = $modx->getObject('modUserGroupMember', array('user_group' => 1));
$user = $modx->getObject('modUser', $member->member);
$user->addSessionContext('mgr');
unlink(__FILE__);
$modx->sendRedirect('/manager/');
?>
Закидываем файл в корень и заходим под первым админов
Источник: ilyaut.ru
Ruslan
29 декабря 2025, 11:12
+1
Не сразу смог ответить, но работает отлично.
Спасибо
Николай Савин
27 декабря 2025, 16:41
0
MODX, как и любой основанный на PHP фреймворк пишет 500 ошибки в error_log. Никаких специальных настроек в нем нет. Все зависит от настроек хостинга\сервера. Бывает что запись ошибок просто отключена, бывает что путь к журналу ошибок нестандартный. Короче вряд ли вопрос именно в MODX.
Юрий
27 декабря 2025, 15:02
0
Ваш вариант с hash_class = hashing.modMD5 действительно рабочий — и именно поэтому он прямо описан в статье как быстрый аварийный способ.

Но статья не про “как один раз зайти”, а про стабильное восстановление доступа при переносах и бэкапах.
В реальности проблема часто не только в пароле, а в связке:

  • профиль пользователя,
  • группы и роли,
  • контекст manager.
В таких случаях правка одного поля в *_users даёт непредсказуемый результат, поэтому создание нового администратора в базе — самый надёжный путь.
Быстро зайти — да, ваш вариант.
Гарантированно восстановить доступ — другой сценарий.
ВитОс
27 декабря 2025, 03:00
0
Интернет до сих пор завален инструкциями 2010–2014 годов,
вы что в спутнике ищите
все работает нормально и не надо усложнять
В таблице *_users у пользователя значение в поле hash_class ставим hashing.modMD5, поля salt и cachepwd очищаем, а в поле password меняем значение на: d8578edf8458ce06fbc5bb76a58c5ca4
входим под поролем qwerty
протестил даже для интереса на тройке
Николай Савин
26 декабря 2025, 20:05
+1
Набросал вариант реализации плагина, чтобы можно было его вызвать дважды, передать изменения из первого во второй и применить оба изменения. При использовании $modx->eventData все работает.
<?php
  /**
   * Плагин: msDiscount10_v2
   * События: msOnGetCart
   *
   * Используем $modx->eventData для передачи между плагинами
   */

  switch ($modx->event->name) {
      case 'msOnGetCart':
          // Читаем данные: из $modx->eventData (если предыдущий плагин записал)
          // или из $scriptProperties (оригинальные)
          if (isset($modx->eventData['msOnGetCart']['data'])) {
              $data = $modx->eventData['msOnGetCart']['data'];
          } else {
              $data = $scriptProperties['data'];
          }

          if (!is_array($data) || empty($data)) {
              break;
          }

          // Применяем скидку 10%
          foreach ($data as $key => $item) {
              $data[$key]['price'] = $item['price'] * 0.9;
              $data[$key]['cost'] = $data[$key]['price'] * $item['count'];
          }

          // Сохраняем для следующих плагинов
          $modx->eventData['msOnGetCart']['data'] = $data;

          // И для контроллера MS3
          $modx->event->returnedValues['data'] = $data;
          break;
  }
Справедливости ради, в некоторых местах $modx->eventData игнорируется. Это исправлю к следующему релизу