Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 102 комментария

Дмитрий
Дмитрий
вот этот сниппет

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

Не знаю, что означает эта абракадабра =)
Этого достаточно? или нужны еще какие-то доп настройки?
Maks
Maks
Не дает установить последнюю бета ту что в модсторе. Жму на дополнение из списка дополнений а там ничего нет. Как будто доступа нет или прав. Такая ситуация как с платными компонентами.
Madao
Madao
Планируется для опций товара возможность указания разных цен (аналог msOtionsPrice)?
Ибо это дополнение никак не развивается и не дорабатывается, и портироваться под MiniShop3 скорее всего не будет (даже сейчас есть проблемы по работе этого дополнения, которые никак не исправляются), а необходимость в таком функционале имеется и желательно в движке из коробки.
Михаил
Михаил
Николай Савин
Николай Савин
MODX, как и любой основанный на PHP фреймворк пишет 500 ошибки в error_log. Никаких специальных настроек в нем нет. Все зависит от настроек хостинга\сервера. Бывает что запись ошибок просто отключена, бывает что путь к журналу ошибок нестандартный. Короче вряд ли вопрос именно в MODX.
Юрий
Юрий
Ваш вариант с hash_class = hashing.modMD5 действительно рабочий — и именно поэтому он прямо описан в статье как быстрый аварийный способ.

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

  • профиль пользователя,
  • группы и роли,
  • контекст manager.
В таких случаях правка одного поля в *_users даёт непредсказуемый результат, поэтому создание нового администратора в базе — самый надёжный путь.
Быстро зайти — да, ваш вариант.
Гарантированно восстановить доступ — другой сценарий.
ВитОс
ВитОс
Интернет до сих пор завален инструкциями 2010–2014 годов,
вы что в спутнике ищите
все работает нормально и не надо усложнять
В таблице *_users у пользователя значение в поле hash_class ставим hashing.modMD5, поля salt и cachepwd очищаем, а в поле password меняем значение на: d8578edf8458ce06fbc5bb76a58c5ca4
входим под поролем qwerty
протестил даже для интереса на тройке
Николай Савин
Николай Савин
Набросал вариант реализации плагина, чтобы можно было его вызвать дважды, передать изменения из первого во второй и применить оба изменения. При использовании $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 игнорируется. Это исправлю к следующему релизу