Вопросы
Плагин для пересчета стоимости доставки в админке
Всем привет!
Так как в miniShop2, к сожалению по прежнему нет пересчета доставки в админке, приходится из раза в раз что-то придумывать.
Какие решения я пока нашел:
Так как в miniShop2, к сожалению по прежнему нет пересчета доставки в админке, приходится из раза в раз что-то придумывать.
Какие решения я пока нашел:
- Полностью создать новый заказ через фронт — самый легкий способ, который всё пересчитает как надо, проблема только в том, что нужно заново набрать корзину с теми же параметрами, что у клиента, выбрать способ доставки с теми же параметрами, что у клиента и наконец выбрать способ оплаты
Плюсы: охватываем даже сложные способы доставки с динамическим расчетом через всякие API
Минусы: повторять весь процесс формирования заказа
- Сделать плагин на событие обновления заказа, чтобы он пересчитывал стоимость доставки, тут проблема в том, что в плагине уже нет объекта корзины, но, что мешает его создать на основании заказа. Я нашел среди issues минишопа одно решение (Код ниже), которое по идее должно решить этот вопрос хотя бы для простых способов доставки, у которых фиксированы доп. стоимость и стоимость при которой доставка бесплатная. Но проблема в том, что плагин почему-то считает не корректно, возможно из-за того, что он написан в 2015, а минишоп недавно прилично так обновился и с этим могут быть связаны проблемы. Собственно нужна помощь сообщества, чтобы его поправить.
- Ну и третий способ, правим исходники минишопа и делаем все поля заказа редактируемыми, таким образом решая все возможные проблемы с пост-обработкой заказа в админке. Да в таком случае менеджер может насчитать что и как угодно, но это уже проблема магазина и ответственности менеджера. Единственное, что при таком способе хорошо бы делать — это вносить все изменения в историю заказа, так можно будет произвести разбор полетов в случае чего.
Хорошие сервисы для отправки email ?
Добрый день.
Кто из личного опыта может подсказать платные и качественные сервисы по отправке email с простым api без ограничения на количество?
Один из наших магазинов на modx отправляет очень много писем, каждый заказ сопровождается минимум 2 мя, плюс есть подписка на рассылки новостей и так далее. Заказы происходят каждые 30 секунд, а подписка на новости (после того как заказчик попросил дарить каждому подписавшемуся промокод) происходит каждые 10 секунд.
И нас банят всюду — хостинг ник ру так почти сразу, если мы отправляем письма через mail()
Есть платный гугл аккаунт, отправляли через smtp, но в какой то момент и гугл прислал письмо — вы нарушили правила (без пояснения какие именно) и тоже отключил smtp
Есть ли вообще такие сервисы, которые могут граммотно и без ограничений отправлять письма?
ps и особое спасибо тому кто ткнет пальцем в строчку кода minishop где идет вызов сервиса mail при отправке писем при заказе товара и смене статусов заказа.
Спасибо.
Кто из личного опыта может подсказать платные и качественные сервисы по отправке email с простым api без ограничения на количество?
Один из наших магазинов на modx отправляет очень много писем, каждый заказ сопровождается минимум 2 мя, плюс есть подписка на рассылки новостей и так далее. Заказы происходят каждые 30 секунд, а подписка на новости (после того как заказчик попросил дарить каждому подписавшемуся промокод) происходит каждые 10 секунд.
И нас банят всюду — хостинг ник ру так почти сразу, если мы отправляем письма через mail()
Есть платный гугл аккаунт, отправляли через smtp, но в какой то момент и гугл прислал письмо — вы нарушили правила (без пояснения какие именно) и тоже отключил smtp
Есть ли вообще такие сервисы, которые могут граммотно и без ограничений отправлять письма?
ps и особое спасибо тому кто ткнет пальцем в строчку кода minishop где идет вызов сервиса mail при отправке писем при заказе товара и смене статусов заказа.
Спасибо.
Инициализация формы при обращении formit + ajaxform + google capcha
Всем примет, как на странно но роботы отправляют спам и при google capcha.
Как мне кажется, роботы отправляют спам из-за того, что они видят форму в исходном коде сайта.
Если его скрыть, возможно спама не станет.
Может у кого есть какие-то мысли или решения.
Хотелось бы максимально не править код компонентов и решить следующие задачи.
1. Скрыть форму из исходного кода, я так полагаю это можно сделать по средствам php, но на сколько сильно придется менять компоненты.
2. Сделать так, что бы google capcha срабатывала только при открытой форме, так-как чем больше форм, тем сильнее она грузит сайт и вес у скриптом не мал.
3. Что бы, функционировал ajaxform
Если форму мы можем скрыть как то при использовании всплывающих окон, то как быть без их использования.
Как мне кажется, роботы отправляют спам из-за того, что они видят форму в исходном коде сайта.
Если его скрыть, возможно спама не станет.
Может у кого есть какие-то мысли или решения.
Хотелось бы максимально не править код компонентов и решить следующие задачи.
1. Скрыть форму из исходного кода, я так полагаю это можно сделать по средствам php, но на сколько сильно придется менять компоненты.
2. Сделать так, что бы google capcha срабатывала только при открытой форме, так-как чем больше форм, тем сильнее она грузит сайт и вес у скриптом не мал.
3. Что бы, функционировал ajaxform
Если форму мы можем скрыть как то при использовании всплывающих окон, то как быть без их использования.
Как сделать дополнительное поле в Register?
Здравствуйте, нужно сделать регистрацию на сайте. Установил дополнение Login.
Как сделать дополнительно поле при регистрации и отобразить его в профиле? Уже весь гугл изрыл
Вызываю сниппет Register
Чанк: lgnRegisterFormTpl
Как видим, только базовые поля заполнения.
Как сделать дополнительно поле при регистрации и отобразить его в профиле? Уже весь гугл изрыл
Вызываю сниппет Register
Чанк: lgnRegisterFormTpl
Как видим, только базовые поля заполнения.
<div class="register">
Чанк: <strong>lgnRegisterFormTpl</strong>
<div class="registerMessage">[[+error.message]]</div>
<form class="form" action="[[~[[*id]]]]" method="post">
<input type="hidden" name="nospam:blank" value="" />
<label for="username">[[%register.username? &namespace=`login` &topic=`register`]]
<span class="error">[[+error.username]]</span>
</label>
<input type="text" name="username:required:minLength=6" id="username" value="[[+username]]" />
<label for="password">[[%register.password]]
<span class="error">[[+error.password]]</span>
</label>
<input type="password" name="password:required:minLength=6" id="password" value="[[+password]]" />
<label for="password_confirm">[[%register.password_confirm]]
<span class="error">[[+error.password_confirm]]</span>
</label>
<input type="password" name="password_confirm:password_confirm=`password`" id="password_confirm" value="[[+password_confirm]]" />
<label for="fullname">[[%register.fullname]]
<span class="error">[[+error.fullname]]</span>
</label>
<input type="text" name="fullname:required" id="fullname" value="[[+fullname]]" />
<label for="email">[[%register.email]]
<span class="error">[[+error.email]]</span>
</label>
<input type="text" name="email:email" id="email" value="[[+email]]" />
<br class="clear" />
[[+register.recaptcha_html]]
[[+error.recaptcha]]
<div class="form-buttons">
<input type="submit" name="login-register-btn" value="Register" />
</div>
</form>
</div> PdoPage ЧПУ не переходит при клике на пагинацию, как исправить?
При клике на ссылку допустим следующей странице, не переходит, но если ввести адрес что в этой ссылке оно переходит, а при клике на ссылку ничего не происходит, НЕТ ошибок как в консоли, так и в модиксе. Плагин делал.
Migx обернут в PdoPage
Migx обернут в PdoPage
[[!pdoPage?
&element=`getImageList`
&limit=`5`
&ajaxMode=`default`
&ajaxElemWrapper=`#pdopage`
&ajaxElemRows=`#pdopage .rows`
&ajaxElemPagination=`#pdopage .pagination`
&ajaxElemLink=`#pdopage .pagination a`
&pageVarKey=`refresher`
&pageNavVar=`refresher.nav`
&totalVar=`refresher.total`
&pageLinkScheme=`/[[+pageVarKey]]-[[+page]]`
&tvname=`refresherCourses`
&tpl=`refresherCoursesTpl`
&docid=`[[*id]]`
]]Вот плагин на обработку не найденных страниц. ИВЕНТ СТАВИЛ.<?php
if ($modx->event->name == 'OnPageNotFound') {
$req = $modx->getOption('request_param_alias');
if (strpos($_REQUEST[$req], 'refresher') !== false) {
$pageVarKey = 'refresher';
} else if(strpos($_REQUEST[$req], 'proffesions') !== false){
$pageVarKey = 'proffesions';
} else {
$pageVarKey = 'page';
}
if (preg_match("#.*?({$pageVarKey}-(\d+))#", $_REQUEST[$req], $matches)) {
$uri = str_replace($matches[1], '', $matches[0]);
$id = 0;
if (!$id = $modx->findResource($uri)) {
$id = $modx->findResource(rtrim($uri, '/'));
}
if ($id) {
$_GET[$pageVarKey] = $_REQUEST[$pageVarKey] = $matches[2];
$modx->sendForward($id);
}
}
} Не приходят заявки на почту через SMTP
Сайт:
xn--80acbhftsxotj0d8c.xn--p1ai/
Установлен Shopkeeper.
Заказы с сайта падают в админку:

Но на почте ничего нет.
Интересный момент — в октябре 20-го года поменяли пароль от почтового ящика, и именно после этого перестали приходить заявки на почту.
Я ввел новый пароль в поле mail_smtp_pass но безрезультатно. Пробовал еще раз менять пароль, не помогает.
Писал в поддержку хостинга, говорят проблема на стороне mail.ru
Пишу в mail.ru, говорят неверный пароль:(
Может быть где-то еще может храниться старый пароль?
Текущие настройки SMTP:

Лог ошибки:
[2021-03-10 12:44:10] (ERROR @ /var/www/u0129085/data/www/xn--80acbhftsxotj0d8c.xn--p1ai/core/components/formit/src/FormIt/Hook/Email.php: 322) [FormIt] Произошла ошибка при попытке отправить почту. Ошибка соединения с SMTP-сервером github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
xn--80acbhftsxotj0d8c.xn--p1ai/
Установлен Shopkeeper.
Заказы с сайта падают в админку:

Но на почте ничего нет.
Интересный момент — в октябре 20-го года поменяли пароль от почтового ящика, и именно после этого перестали приходить заявки на почту.
Я ввел новый пароль в поле mail_smtp_pass но безрезультатно. Пробовал еще раз менять пароль, не помогает.
Писал в поддержку хостинга, говорят проблема на стороне mail.ru
Пишу в mail.ru, говорят неверный пароль:(
Может быть где-то еще может храниться старый пароль?
Текущие настройки SMTP:

Лог ошибки:
[2021-03-10 12:44:10] (ERROR @ /var/www/u0129085/data/www/xn--80acbhftsxotj0d8c.xn--p1ai/core/components/formit/src/FormIt/Hook/Email.php: 322) [FormIt] Произошла ошибка при попытке отправить почту. Ошибка соединения с SMTP-сервером github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Не рендерится в админке tv-поле мульти-селект
Всем привет!
Столкнулся со странностью… есть tv-поле с мульти-селектом, вот такие настройки:
skrinshoter.ru/s/090321/DsS6uUen?a
В общем-то, стандартный вариант, всё работает как нужно. Проблема в том, что если в pagetitle выбранного пункта селекта попадается запятая — skrinshoter.ru/s/090321/IlPXU9rr?a — то в базу значение заносится и сохраняется, с ним можно работать на фронте, но — после перезагрузки страницы в админке значение выбранного пункта не выводится — skrinshoter.ru/s/090321/wP2PP2ke. Просто пустое поле.
Соответственно, если выбрать несколько пунктов, то выведутся все, кроме этого «больного на запятую».
Причина именно в наличии запятой. Кто-нибудь сталкивался?
Столкнулся со странностью… есть tv-поле с мульти-селектом, вот такие настройки:
skrinshoter.ru/s/090321/DsS6uUen?a
В общем-то, стандартный вариант, всё работает как нужно. Проблема в том, что если в pagetitle выбранного пункта селекта попадается запятая — skrinshoter.ru/s/090321/IlPXU9rr?a — то в базу значение заносится и сохраняется, с ним можно работать на фронте, но — после перезагрузки страницы в админке значение выбранного пункта не выводится — skrinshoter.ru/s/090321/wP2PP2ke. Просто пустое поле.
Соответственно, если выбрать несколько пунктов, то выведутся все, кроме этого «больного на запятую».
Причина именно в наличии запятой. Кто-нибудь сталкивался?
miniShop2 варианты оплаты
В miniShop2 на странице корзины два варианта оплаты, наличными и карта, мне нужно что бы обязательно было заполнено поле, но что бы изначально не было ничего выбрано, а как не старался, если ставить name=payment, то сразу один пункт выбран. Как это убрать?
tickets активировать лайки
подскажите как активировать лайки в комментариях
выводится как TicketComments
вижу сам рейтинг
при нажатии на иконки пишет что не хватает прав для этого действия.
видимо надо какие то настройки прописать но где и что именно не знаю, подскажите
вроде прописаны права политики для анонима и для админа но не тот ни другой не могут жмякать рейтинг :(
выводится как TicketComments
вижу сам рейтинг
при нажатии на иконки пишет что не хватает прав для этого действия.
видимо надо какие то настройки прописать но где и что именно не знаю, подскажите
вроде прописаны права политики для анонима и для админа но не тот ни другой не могут жмякать рейтинг :(
Как сделать прозрачный фон у Webp фоток товара в минишопе?
Есть исходные png с прозрачным фоном. Заливаю их в минишоп последней версии, и генерируются png с белым или любым цветом какой укажешь в bg. А как сохранить прозрачность?