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

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

С нами с 25 июля 2014; Место в рейтинге пользователей: #67
Антон Тарасов
05 декабря 2022, 07:29
1
+1
docs.modx.com/3.x/ru/extending-modx/plugins/system-events/onwebpageinit#switchsettings
Вероятно это происходит потому, что на этом этапе еще не инициализировано то, что вы хотите запросить, а именно системная конфигурация. Почему именно это событие? Выберите другое :)
Антон Тарасов
14 октября 2022, 10:08
+1
1.Нет ли в консоли браузера ошибок на этот счет?
2. Не была ли спрятана вкладка через настройки форм в /manager/?a=security/forms?
Антон Тарасов
11 октября 2022, 18:55
1
0
Вы собрали все в переменную $name, теперь ее делаете плейсхолдером и выводите.
Антон Тарасов
11 октября 2022, 18:43
1
0
foreach ($result as $data) {
    $name .= "<input type='radio' id='fullname' name='fullname' value='$data["name"]'><label for='fullname'>$data["name"]</label>"
    }
Антон Тарасов
11 октября 2022, 18:23
1
0
Конкатенацией, например, так:
$name .= $data['name'];
или с каким-либо разделителем, как они должны в итоге выглядеть, через запятую, или каждый на новой строке?
Антон Тарасов
11 октября 2022, 18:04
1
0
переменная $name в итоге получает только значение имени последнего клиента, убедитесь, что оно непусто(ну и есть такой столбец конечно).
Сам сниппет-то вызывается(можно попробовать вызывать некешированным !snippet)? Добавьте больше отладочных сообщений.
Антон Тарасов
31 января 2022, 16:45
0
Прошу прощения, если инструкция была не совсем точна. Будет дополнена.
Антон Тарасов
27 января 2022, 19:18
+1
Добрый день! JSON валиден?
В коде страницы видите, чтобы подключался указанный css файл?
Антон Тарасов
16 ноября 2021, 12:29
0
Забыл сказать самое главное :) — вам нужно переопределить класс минишопа и использовать его, как это сделать -здесь: modx.pro/development/3168
в исходном классе minishop2.class.php есть метод
public function changeOrderStatus($order_id, $status_id)
переопределив, нужно добавить примерно следующее:
$pls = $order->toArray();
$profile = $this->modx->getObject('modUserProfile', array('internalKey' => $order->get('user_id')));
$pls['receiver'] = $profile->get('fullname'); //найдите строки выше и добавьте недостающие плейсхолдеры
Антон Тарасов
16 ноября 2021, 11:53
0
Вы в лексиконе ms2_email_subject_new_manager указывали, верно? Попробуйте просто [[+receiver]] и [[+phone]]
Антон Тарасов
22 октября 2021, 19:42
0
Посмотрите вот эту ветку modx.pro/help/9081, у меня была подобная ошибка, может поможет
Антон Тарасов
23 сентября 2021, 09:47
0
если прикрепить TVшку к ресурсу то все ок
а если вставить в MIGX
то при нажатии на «добавить элемент» вижу такое
с чем это может быть связано?
у меня такое происходило также, но только потому что в MIGX после вызова сниппет через EVAL не была указана точка с запятой, в противном случае все отлично:

{"field":"category", "caption":"category", "inputTVtype":"listbox",
     "inputOptionValues":"@EVAL return $modx->runSnippet('getCategoryList');"}

Ну и на всякий случай сниппет getCategoryList, хотя тут выбирается список категорий.

<?php
$result = array();
$c = $modx->newQuery('modCategory');
$c->sortby('category','ASC');
$categories = $modx->getCollection('modCategory',$c);
foreach($categories as $category){
   $result[] = $category->get('category')."==".$category->get('category');
}
return implode("||", $result);
Антон Тарасов
21 сентября 2021, 08:43
1
0
В сниппете `getImageList`есть два недокументированных поля `sumFields` и `sumPrefix`, попробуйте их использовать примерно так:
[[getImageList? 
&tvname=`your_tv`
&sumFields=`num`
&sumPrefix=`prefix_`
&limit=`4`
]]
результат будет в плейсхолдере [[+prefix_num]]

Обновлю-ка документацию.
Антон Тарасов
11 июня 2021, 17:14
0
индексы на стороне CDEK формируются и обрабатываются, напишите в тех.поддержку
Антон Тарасов
01 июня 2021, 09:39
0
Убедитесь, что все настройки верны(/core/config/config.inc.php), .htaccess(или если другой веб-сервер — его настройки), настройки контекста — если есть. А также системные настройки касаемо ЧПУ. Если все верно -пишите еще)
Антон Тарасов
20 мая 2021, 19:32
+2
Костылить — не гуд, нужно переопределять, иначе первое же обновление minishop все эти изменения затрёт! А issue создал: github.com/Ibochkarev/miniShop2/issues/597
Антон Тарасов
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/Сервера? Ошибка-то серверная…