Павел Гвоздь

Павел Гвоздь

С нами с 31 мая 2015; Место в рейтинге пользователей: #2

[AjaxForm] 1.2.0 Поддержка отключённых сессий у анонимов

Наконец-то дошли руки допилить AjaxForm. Была проблема при отключённых сессиях для анонимов (настройка anonymous_sessions, указывается только для контекстов!) – сессии отключены, а значит пробросить параметры сниппета, которые необходимы при ajax действиях, невозможно.

Теперь, в новой версии, если сессии включены или вы авторизованы на сайте в админке (что соответственно создаёт сессию), работа происходит как и раньше через сессии. А если сессия отключена, то параметры сниппета пробрасываются через кеш сайта – в кеше создаётся файл с параметрами сниппета.

Также, влил некоторые PR, которые давно висели:

– Украинский язык,
– Параметр сниппета clearFieldsOnSuccess, который говорит, надо ли очищать форму при успешной её отправке,
– В отправляемые данные добавлена передача value кнопки, которую юзер нажал (удобно, если на форме несколько кнопок),
– В default.js заменён document.write на document.body.appendChild,
– Вырезан type="text/javascript" из тега <script> при инициализации на фронте.
Павел Гвоздь
17 сентября 2021, 12:19
modx.pro
227
+16

[xLike] 1.1.2 Работа с отключенными сессиями для анонимов и поддержка IPv6

Если вам, как и мне, нужно ограничивать анонимов в сессиях, чтобы таблица с сессиями не заполнялась на несколько тысяч записей за 10 минут, то вместе с этим вам придётся столкнуться с некоторыми трудностями. Например, когда в сессию пишутся параметры сниппета для проброса их в какой-нибудь action.php, чтобы не делать этого прямиком через фронтенд.

Отключив сессии для анонимов на сайте, xLike перестал корректно работать, выдавая ошибку при попытке проголосовать. Происходит это, потому что session_id в нём играл основную роль для идентификации юзера, даже при включённой проверке по IP. А проблема заключалась как раз в том, что сниппет xLike пишет в сессию свои параметры, которые необходимы в момент установки голоса пользователем.
Павел Гвоздь
13 января 2021, 17:07
modx.pro
424
+12

[Расширяем miniShop2] Быстрая смена статуса заказа через контекстное меню


Заказчика запарило для смены статуса лазать в полное редактирование заказа, попросил сделать что-то быстрое и простое. На скриншоте выше конечный результат. Чтобы получить такой же, файлы из этого репозитория закиньте себе в папку /assets/ и создайте плагин, который описан в конце статьи. Однако, я настоятельно рекомендую почитать статью, чтобы понимать принцип расширения всего этого дела.
Павел Гвоздь
12 января 2021, 20:54
modx.pro
16
708
+25

[msPromoCode2] Кейс. Генерация промо-кода в письме на следующий заказ


Не так давно в документации к msPromoCode2 появился интересный кейс, при помощи которого можно поднять процент повторных продаж на сайте. Работает так:

  1. Клиент оплачивает заказ,
  2. Статус заказа меняется на «Оплачено»,
  3. В письме ему приходит промо-код на следующий заказ, который действителен в течение месяца.
Дублировать код решения здесь не буду. Проходите, смотрите, внедряйте.
Павел Гвоздь
06 сентября 2020, 08:50
modx.pro
3
770
+11

[msPromoCode2] 1.1.12 Обратный отсчёт для сгенеренного промо-кода

Сниппет mspc2Generate позволяет сгенерировать промо-код для любого юзера, находящегося на сайте в течение определённого времени. Этот сниппет был не особо функционален. Всё что он позволял – это сгенерировать промо-код для юзера через N секунд после вызова сниппета. Делал он это хорошо, однако ему не хватало больших настроек.

До версии 1.1.12 не было возможности ни задать время жизни такого купона, ни каких-то дополнительных «галочек» из конфига. Сразу скажу – теперь всё это возможно + для промо-кода с указанным временем жизни в окошке появляется обратный отсчёт. Это очень хороший стимул для клиента сделать заказ прямо сейчас, поэтому обновляйтесь! При обновлении надо обновить чанк tpl.msPromoCode2.generate.
Павел Гвоздь
07 августа 2020, 07:52
modx.pro
531
+9

[msEmailTab] Вкладка отправки email в заказе


Компонент безумно прост! В админке у заказа добавляется вкладка «Отправить Email», соответственно с возможностью отправки email на почту клиента с произвольным текстом.
В контенте письма можно использовать Fenom:
{$order | print}
{$total | print}
{$delivery | print}
{$payment | print}
{$address | print}
{$products | print}
{$user | print}

Скачать в Modstore бесплатно

Павел Гвоздь
30 апреля 2020, 10:04
modx.pro
2
612
+19

Весенние скидки на пакеты Гвоздя -20% до 31 марта


Всем привет! У меня распродажа моих компонентов в честь весеннего нового года (Новруз, Наурыз). Налетайте! Вот список пакетов, которые могут вас заинтересовать:

Скидки действуют до 31 марта 2020 года!
Павел Гвоздь
23 марта 2020, 18:35
modx.pro
1
556
+12

[msBonus2] Миграция с msBonus на msBonus2


Ситуация с миграцией на вторую версию несколько сложнее, чем может показаться обывателю. Вместе с цифрами в аккаунте переносить нужно ещё и логи начислений. К тому же, на сайте может быть не сотня юзеров, а несколько десятков тысяч — тут уже проблема возникает с max_execution_time.

Предлагаю скрипт, который вместе с цифрами бонусов переносит ещё и логи, а также может работать из Console с десятками тысяч юзеров, не боясь max_execution_time.
Павел Гвоздь
15 февраля 2020, 10:03
modx.pro
1
395
+9

[msPromoCode2] Кейс. Установка промо-кода программно при входе на сайт


Мало кто знает, что msPromoCode2 можно использовать и как компонент для скидок на товары, без обязательного ввода промо-кода юзером. Всего лишь нужно написать маленький плагин, взаимодействующий с программным API. В этом посте предлагаю данный кейс.

К сожалению, никак не успеваю пополнить раздел API, пусть этот пост станет началом!
Павел Гвоздь
03 декабря 2019, 08:21
modx.pro
6
569
+12

[xParser] 1.8.0 Вспомогательный Node JS демон или ускоряем парсинг в 27 раз!


Встала задача ускорить, насколько это возможно, работу парсера, т.к. у клиента отработка задания на парсинг 7к ресурсов длилась в течение ~2-3 суток!
Первым делом я подумал, что проблема таится в получении данных со стороннего ресурса. 7 тысяч запросов к стороннему ресурсу только за текстовой информацией, а ещё у каждой записи по 5 картинок, в общей сложности получается 42к запросов к стороннему ресурсу.
Если в среднем запрос длится по 1 секунде, то получается 42 тысячи секунд, что эквивалентно 11 часам и ещё 40 минутам! А ведь ресурс ещё нужно сохранить, на что в среднем уходит по 1-2 секунды. Это ещё +22 часа работы. Итого ~34 часа на отработку задания на парсинг 7к ресурсов, в лучшем случае. Мда… не дело!

Павел Гвоздь
29 октября 2019, 10:25
modx.pro
6
2 138
+27