Антон Тарасов

Антон Тарасов

С нами с 25 июля 2014; Место в рейтинге пользователей: #60
Антон Тарасов
20 мая 2021, 19:27
1
+1
Когда-то «костылили» (что нехорошо конечно) так: в файле core/components/minishop2/model/minishop2/minishop2.class.php
1. правился метод sendEmail, добавлялся параметр $reply_to:

public function sendEmail($email, $subject, $body = '', $replyto = '')
    {
        $this->modx->getParser()->processElementTags('', $body, true, false, '[[', ']]', array(), 10);
        $this->modx->getParser()->processElementTags('', $body, true, true, '[[', ']]', array(), 10);

        /** @var modPHPMailer $mail */
        $mail = $this->modx->getService('mail', 'mail.modPHPMailer');
        $mail->setHTML(true);

        $mail->address('to', trim($email));
        if($replyto){
            $mail->address('reply-to', trim($replyto));
        }
        $mail->set(modMail::MAIL_SUBJECT, trim($subject));
        $mail->set(modMail::MAIL_BODY, $body);
        $mail->set(modMail::MAIL_FROM, $this->modx->getOption('emailsender'));
        $mail->set(modMail::MAIL_FROM_NAME, $this->modx->getOption('site_name'));
        if (!$mail->send()) {
            $this->modx->log(modX::LOG_LEVEL_ERROR,
                'An error occurred while trying to send the email: ' . $mail->mailer->ErrorInfo
            );
        }
        $mail->reset();
    }
2. правился метод changeOrderStatus, вот этот фрагмент с добавлением reply_to:

if ($status->get('email_manager')) {
                $subject = $this->pdoTools->getChunk('@INLINE ' . $status->get('subject_manager'), $pls);
                $tpl = '';
                if ($chunk = $this->modx->getObject('modChunk', array('id' => $status->get('body_manager')))) {
                    $tpl = $chunk->get('name');
                }
                $body = $this->modx->runSnippet('msGetOrder', array_merge($pls, array('tpl' => $tpl)));
                $emails = array_map('trim', explode(',',
                        $this->modx->getOption('ms2_email_manager', null, $this->modx->getOption('emailsender')))
                );
                if (!empty($subject)) {
                    
                    // здесь изменения!!
                    $profile = $this->modx->getObject('modUserProfile', array('internalKey' => $pls['user_id']));
                    $replyto = $profile->get('email');
                    
                    foreach ($emails as $email) {
                        if (preg_match('#.*?@.*#', $email)) {
                            $this->sendEmail($email, $subject, $body, $replyto);
                        }
                    }
                }
            }
P.S. Видимо пора уже это в issue оформить, сделаю.
Антон Тарасов
18 мая 2021, 19:59
0
видимо придется писать свою собственную сортировку — расширяйте класс mse2FiltersHandler, метод getMsOptionValues. Затем укажите свой класс в системной переменной mse2_filters_handler_class
Антон Тарасов
15 мая 2021, 09:14
0
Посмотрите — вот здесь была схожая проблема: github.com/modxcms/revolution/issues/15703
Антон Тарасов
29 апреля 2021, 10:16
0
А что в логах MODX/Сервера? Ошибка-то серверная…
Антон Тарасов
07 апреля 2021, 11:02
0
docs.modx.com/current/en/extras/tinymcerte/customfonts
docs.modx.com/current/ru/extras/tinymcerte/customfonts

@Эдуард Добавил в документацию, если у вас будут замечания/обновления — милости прошу.
Антон Тарасов
04 апреля 2021, 18:10
+1
Спасибо, Эдуард! Если вы не против, добавлю ваш пример в документацию.
Антон Тарасов
25 марта 2021, 15:36
0
да, это тоже вариант
Антон Тарасов
25 марта 2021, 10:20
0
Если хостер совсем ничем не поможет, для резерва по крону можно попробовать backupmodx, для развертывания бекапов нужно вероятно писать самостоятельно, не слышал о таком решении.
Антон Тарасов
22 марта 2021, 17:59
0
Насколько помню можно через CSS для класса контейнера капчи переопределить местоположение
Антон Тарасов
17 марта 2021, 13:48
0
очень может быть, что он глючит, давно не обновлялся, но вы всегда можете оформить issue или PR. github.com/Sterc/Batcher
По существу же вопрос должен помочь.
Антон Тарасов
15 марта 2021, 11:31
+5
Спасибо, @Иван Бочкарев и всем коллегам! Очень важные обновления, флагман как и прежде на плаву и набирает обороты.
Лови донат :)
Антон Тарасов
15 марта 2021, 10:55
0
Ничего из вышепредложенного к сожалению не подошло (сайт с 5-ю контекстами под разные языки), но помогло следующее: обратите внимание на системные переменные session_cookie_domain и session_name. В какой-то момент обнаружил, что пишется две сессии PHPSESSID для разных доменов ('.www.domain.name' и '.domain.name'). Указал явно session_cookie_domain в '.domain.name' и session_name в 'cookiename'
Антон Тарасов
09 марта 2021, 15:30
0
Работая с документацией последние дни и памятуя про желаемую кейсоориентированность, было бы здорово иметь некий промежуточный «котел», куда на первом этапе закидывались бы какие-то пользовательские сценарии (например, в ТГ MODX на днях вопрошали про особенности инсталляции MODX на отечественных хостингах, а на community.modx.com кто-то страдал с установкой IIS под Windows Server...), а вторым — отражались в документации, а-ля «готовые решения» и/или на docs.modx.com.

Тут акцент именно на формировании хорошей привычки такой сценарий увидеть — и в котел положить)) Добавить/дописать куда надо уже проще, была бы фактура.
Антон Тарасов
07 марта 2021, 09:15
+2
допишите в начало заголовка [РЕШЕНО] :) а вообще это хороший вопрос, форварднул его сюда: modx.pro/news/21431
Антон Тарасов
07 марта 2021, 09:13
+2
Также было бы здорово отмечать вопрос в целом, как решенный, если были дан(ы) правильные ответы(флажок какой или банальное «РЕШЕНО» где-то). Вот человек по делу вопрошает: modx.pro/help/21580#comment-127269
Антон Тарасов
04 марта 2021, 17:18
0
Будет ли видеозапись докладов? Хотелось бы лицезреть и после ивента…
Антон Тарасов
04 марта 2021, 15:09
0
Виктория, а что именно не так?
Какой вызов сниппета делали, что хотели получить?