Виталий

Виталий

С нами с 25 октября 2019; Место в рейтинге пользователей: #706

Проблема с доступом через форму Office после добавление плагина на авто письмо после покупки

Подскажите почему конфликт с доступом.
Поставил Office и Hybridauth, все настроил, проблем нет, протестировал пользователь регистрируется, приходит письмо, вход в ЛК есть. Но есть решение на сайте Ильи Уткина, когда пользователь без регистрации делает покупки и ему приходит письмо кроме заказа также письмо о сгенерированном пароле и регистрации. Решил совместить эти два решения, пусть желающий сделать ЛК перед покупкой пройдет регу (тем более там только мыло нужно указать), но для тех кто сделает покупку без ЛК отправить письмо о логине и пароле и ссылку на вход в ЛК. Но при таком совместном использование плагина и Office, пользователь без предварительного создания ЛК при входе с почты получает ошибку 404. Подскажите может в настройках Office что-то надо еще подправить.
Плагин на письмо покупки без регистрации такой, поставлен на событие msOnChangeOrderStatus.
<?php
if ($modx->event->name == 'msOnChangeOrderStatus') {
	// Если статус заказа << Новый >>
        if ($status == 1) {
            $userId = $order->user_id;
            $objUser = $modx->getObject('modUser', $userId);
            $objProfile = $modx->getObject('modUserProfile', $userId);
            $time = time();
            $newUser = 10; // Сколько секунд пользователь считается новым
            
            if ($objUser && $objProfile) {
                $username = $objUser->get('username');
                $email = $objProfile->get('email');
                $createdon = strtotime($objUser->get('createdon')) + $newUser;
                $modx = new modX();
                $modx->initialize('mgr');
                $modx->getService('error','error.modError');
                
                if ($createdon > $time) {
                    $data = array(
                        'id' => $userId,
                        'username' => $username,
                        'email' => $email,
                        'newpassword' => 'passwordgenmethod', // любой набор символов
                        'passwordgenmethod' => 'g', // отдаём генерацию пароля MODX
                        'passwordnotifymethod'  => 'e', // письмо пользователю
                    );
                    
                    $response = $modx->runProcessor('/security/user/update', $data);
                    if ($response->isError()) {
                         $modx->log(modX::LOG_LEVEL_ERROR, 'Update error. Username: '.$username.', Message: '.$response->getMessage());
                    }
                }
            }
        }
}
Виталий
16 ноября 2022, 12:46
modx.pro
345
0

mSearch2 с поиском по точному вхождению артикула добавляет товары после начального соответствия

Подскажите, необходимо сделать поиск по точному поиску по артикулу, mSearch2 ищет отлично, но добавляет товары если точное вхождение соответствует только началу артикулу. Приведу пример, Артикул 0238567349 и 0238567349780, это два разных артикула точность соответствия составляет 10 цифр, второй результат тоже выводится, спору нет точность есть но не 100%. Подскажите, может в настройках надо выставить вес и балы за совпадение, чтобы добиться 100% или снипет так работает и по другому не может. Пробовал, этот метод расширенного снипета
https://ilyaut.ru/cheats/msearch2-poisk-po-tochnomu-vhozhdeniyu/
, но ничего не меняется, родной снипет также ищет. Кэш при замене чистил, переиндексацию проводил, все равно при запросе 0238567349 выдает товар с этим артикулом а также с 0238567349780.
Вызов снипета на странице поиска такой:
<form action="" method="get">
    <input type="text" name="query" value="[[+mse2_query]]" />
    <button type="submit">Искать!</button>
</form>

[[!pdoPage?
    &element=`msProducts`
    &parents=`102`
    &resources=`[[!mSearch2:default=`999999`?returnIds=`1`&limit=`0`]]`
    &sortby=`ids`
]]

[[!+page.nav]]
Виталий
15 ноября 2022, 04:37
modx.pro
664
0

Как реализовать одну фотографию на сервере для многих товаров Minishop2 ?

Добрый день.
Подскажите есть два вопроса по Minishop2.
Может зря конечно пишу и ответ очевиден, и как всегда напишут читай матчасть. Но если честно тыкните якорь-ссылочку, где почитать, не могу найти ответа в интернете.
1. В карточке товара, в галерее, фото можно подгрузить только с внешнего источника(комп и т.д.), но вопрос в том, что мне желательно присвоить одну фотографию большому количеству товаров. Поясню, если нет фото товара я подгружаю схему деталировки, и так как на схеме порядка 30 товаров, выходит, что я гружу одну и ту же фото, т.е. 30 одинаковых фото. Подскажите, как в галерее в карточке товара можно присвоить фото что лежит уже на сервере, перетаскивание в поле загрузочной панели из файловой системы заблокировано.
2. Делаю выборку на странице товаров с помощью msProducts, сейчас через связи слайдер листает все товары грубо говоря одного комплекта. Но дело в том, что в msProducts надо прописывать Id связи товаров. А так как шаблон карточки один, не могу понять как сделать чтобы msProducts подцеплял связь автоматически
&link=`.........`
, чтобы не писать Id связи и использовать один шаблон для всех товаров и всех комплектов созданных связей. Грубо говоря, хочется чтобы msProducts видел Id товара и автоматом выводил в слайдер все товары только этой связи а не других.
P/s Извиняюсь, если объяснил не совсем доходчиво свои мысли.
Виталий
12 ноября 2022, 06:41
modx.pro
495
0

Вызов Formit для множества адресов почты, каждый адрес для определенного контента

Добрый день.
Стоит задача отправлять пользователя с запросом на разную почту, разъясню:
Есть каталог в форме таблицы
Наименование - деталировка -артикул-наличие-запросить цену
Возникает необходимость перенаправления по определенным позициям каталога запроса пользователя (запросить цену) на другую почту абсолютно на другом почтовом сервисе. Вызов Formit настроен на основную почту
&emailTo=`1@site.ru`
, при добавление еще одного адресата в
&emailTo=`1@site.ru,2@site.ru`
, я получаю письмо как и второй адресат, по аналогии добавив третьего адресата
&emailTo=`1@site.ru,2@site.ru,3@site.ru`
мы все получим эти письма. Подскажите можно обыграть в Formit так, чтобы почта шла какому-либо одному адресату по этим отдельным позициям, т.е. данная вся отправка оставалась видна только почте 1@site.ru, а почты 2@site.ru и 3@site.ru видели только свои запросы.
Так как это все на одной странице контента, id ресурса один и как это изящно обыграть тямы не хватает :). Не хочется просто создавать отдельные ресурсы с отдельными формами отправки и в каталоге перенаправлять на эти формы уже запрос, хотелось бы в рамках одной формы сделать.
Виталий
23 октября 2022, 13:33
modx.pro
1 939
0

TinyMCE и валидация, как вылечить?

Добрый день.
Столкнулся с тем, что при проверке валидности страницы, TinyMCE обрезает исправления, которые в данный момент не проходят валидацию. Вернее это не совсем ошибки, просто закрывающий слэш тегов
<br />
и многих других сейчас не обязателен. Понимаю что это не ошибка а лишь информирование что слэш лишний, но все же — можно приучить TinyMCE к этому новому правилу? Как пример вот в этой строке надо убрать слэш в конце, но TinyMCE его упорно вставляет обратно
<img src="/controller-InteliCompact.jpg" alt="контроллер InteliCompact" width="328" height="247" />
.
Виталий
16 октября 2022, 09:08
modx.pro
1
547
0

Formit не работает, проверяю QuickEmail все нормально, помогите найти ошибку

Добрый день.
Никак не могу найти в чем причина, Formit и QuickEmail отправляет через форму мне письмо, но не отправляет письмо пользователю через автоответчик а QuickEmail отправляет. Редирект тоже не происходит.
Ошибка в журнале:
(ERROR @ /components/formit/src/FormIt/Hook/Autoresponder.php : 200) [FormIt] An error occurred while trying to send the auto-responder email: SMTP Error: data not accepted.SMTP server error: DATA END command failed Detail: Incorrect header syntax in From field:
https://www.nic.ru/help/pochta-diagnostika-i-ustranenie-oshibok_6808.html
 SMTP code: 550
Вызов Formit b сама форма на странице:
[[!FormIt?
&hooks=`recaptchav2,email,FormItAutoResponder,redirect`
&emailTpl=`sentEmailTpl`
&emailSubject=`Сообщение с сайта ........ `
&emailTo=`[[++emailsender]]`
&validate=`contact_name:required:minLength=^3^,
contact_email:email:required,
contact_message:required`
&redirectTo=`49`
&fiarTpl=`autoResponseTpl`
&fiarSubject=`Благодарим Вас за сообщение с сайта .......`
&fiarToField=`contact_email`
&fiarFromName=`Название сайта`
]]
<form id="contactForm" method="post" action="[[~[[*id]]]]" enctype="multipart/form-data"><strong>Представьтесь, пожалуйста. Здесь вы сможете отправить нам сообщение.</strong>
<div><label for="contact_name"><strong>Имя</strong> </label><em>(обязательное для заполнение поле)</em><br />
<input id="contact_name" minlength="3" name="contact_name" size="30" value="[[!+fi.contact_name]]" placeholder="Пожалуйста, введите ваше имя" />
</div>

<div><label for="contact_email"><strong>E-Mail</strong> </label><em>(обязательное для заполнение поле)</em><br />
<input id="contact_email" name="contact_email" size="30" value="[[!+fi.contact_email]]" placeholder="Пожалуйста, введите ваш email" />
</div>

<div><label for="contact_message"><strong>Ваше сообщение:</strong> </label><em>(обязательное для заполнение поле)</em><br />
<textarea cols="70" id="contact_message" name="contact_message" placeholder="Пожалуйста, введите ваш текст" rows="7">[[!+fi.contact_message]]</textarea></div>
<div>
<label for="contact_attachment">Прикрепить файл </label><em>(optional)</em><br />
<input type="file" name="contact_attachment" value="[[!+fi.contact_attachment]]" />
</div>
<div class="form-item">
  [[!recaptchav2_render]]
  [[!+fi.error.recaptchav2_error]]
</div>
<div><div><input name="submit" type="submit" value="Отправить" /></div></div>
</form>
Чанк sentEmailTpl
<strong>Сообщение с сайта PDFmanual.ru</strong><br /><br />
<strong>Имя отправителя:</strong> [[+contact_name]]<br />
<strong>Текст сообщения:</strong><br />
[[+contact_message]]<br /><br />
<strong>E-mail отправителя:</strong> <a href="mailto:[[+contact_email]]">[[+contact_email]]</a>
Вы можете ответить отправителю, нажав <a href="mailto:[[+contact_email]]">сюда</a>
Чанк autoResponseTpl:
[[+contact_name]], cпасибо за ваше обращение.<br />
<br />
 Если данное сообщение было отправлено не Вами, возможно кто-то ошибся при вводе в контактной форме на сайте.<br />
<strong>[[+contact_message]]</strong>
<br />
Виталий
13 октября 2022, 12:42
modx.pro
838
0

Подскажите реализацию вывода комментариев Tickets отличной от страницы формы

Добрый день.
Подскажите, возможно ли реализовать вывод комментариев на другой странице отличной от той где установлена форма для отправки. Поясню, дефолтно после установки формы комментария в статье, внизу под ней выведена форма комментария, при добавление комментария они выводятся под статьёй. Возможно ли реализация, чтобы комментарии со всех статей выводились на отдельную страницу подхватывая автоматом название статьи к которой сделан комментарий, а в самой статье оставалась только форма для отправки комментария.
Виталий
07 октября 2022, 15:12
modx.pro
671
0

Не работают комментарии Ticket

Подскажите в чем может быть причина? Установил Ticket, с ним установился Jevix. Добавил форму комментариев, согласно описанию добавлять могут неавторизованные пользователи. Но при попытке оставить тестовый комментарий, кнопка предосмотр — неактивна, кнопка написать нажимаю, страница перезагружается но комментария нет, в админке тоже комментариев не видно. Может надо где-то в чанке или в настройках поправить права для гостей, но по описанию это должно работать &allowGuest=`1`
Вызов делаю такой
[[!TicketComments?
&allowGuest=`1`
&allowGuestEdit=`1`
&autoPublish=`1`
&allowGuestEmails=`1`
Виталий
28 сентября 2022, 21:10
modx.pro
1
672
0

SEO Tab установился успешно, но часть текста в сообщении об установке красная

Добрый день. Устанавливал SEO Pro и SEO Tab, так вот первый компонент выдал нормальный отчет об установке а при установке SEO Tab в отчете об установке написано что пакет установлен успешно, но часть текста в отчете в красном шрифте, как-будто пакет встал не совсем корректно. Сайт и админка работают, вкладка SEO появилась в ресурсах, но все таки терзают мутные сомнения, что пакет встал некорректно. Подскажите забить на это или данная непонятка требует устранения причины и перезаливке пакета. Текст красным шрифтом следующий:
xPDOVehicle resolver failed: type php (/home/h910232200/site.ru/docs/bssbd/packages/stercseo-2.0.4-pl/modCategory/673a98ee9fa6de868347f21bc9d5a643.update.resolver.resolver)
Could not resolve vehicle for object of class modCategory; criteria: Array ( [category] => StercSEO )
Виталий
16 сентября 2022, 09:26
modx.pro
564
0

Обновиться для безопасности ядра

Добрый день.
Прошу подсказать, до какой версии патча можно обновиться без проблем получить кучу багов, какие-то новые версии не интересны, интересует лишь обновление актуальное для безопасности ядра. В данный момент использую MODX Revolution 2.7.2. Если скинете ссылочку на FAQ по обновлению буду благодарен, год не юзал систему многое уже подзабыл о MODX, поставил ядро и отвалился от этой темы, сейчас вот появилось желание закончить что задумывал.
Виталий
11 августа 2021, 14:04
modx.pro
562
-3