Павел Гвоздь
С нами с 31 мая 2015; Место в рейтинге пользователей: #3[xLike] 1.1.2 Работа с отключенными сессиями для анонимов и поддержка IPv6
Если вам, как и мне, нужно ограничивать анонимов в сессиях, чтобы таблица с сессиями не заполнялась на несколько тысяч записей за 10 минут, то вместе с этим вам придётся столкнуться с некоторыми трудностями. Например, когда в сессию пишутся параметры сниппета для проброса их в какой-нибудь action.php, чтобы не делать этого прямиком через фронтенд.
Отключив сессии для анонимов на сайте, xLike перестал корректно работать, выдавая ошибку при попытке проголосовать. Происходит это, потому что session_id в нём играл основную роль для идентификации юзера, даже при включённой проверке по IP. А проблема заключалась как раз в том, что сниппет xLike пишет в сессию свои параметры, которые необходимы в момент установки голоса пользователем.

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

Заказчика запарило для смены статуса лазать в полное редактирование заказа, попросил сделать что-то быстрое и простое. На скриншоте выше конечный результат. Чтобы получить такой же, файлы из этого репозитория закиньте себе в папку /assets/ и создайте плагин, который описан в конце статьи. Однако, я настоятельно рекомендую почитать статью, чтобы понимать принцип расширения всего этого дела.
[msPromoCode2] Кейс. Генерация промо-кода в письме на следующий заказ

Не так давно в документации к msPromoCode2 появился интересный кейс, при помощи которого можно поднять процент повторных продаж на сайте. Работает так:
- Клиент оплачивает заказ,
- Статус заказа меняется на «Оплачено»,
- В письме ему приходит промо-код на следующий заказ, который действителен в течение месяца.
[msPromoCode2] 1.1.12 Обратный отсчёт для сгенеренного промо-кода

До версии 1.1.12 не было возможности ни задать время жизни такого купона, ни каких-то дополнительных «галочек» из конфига. Сразу скажу – теперь всё это возможно + для промо-кода с указанным временем жизни в окошке появляется обратный отсчёт. Это очень хороший стимул для клиента сделать заказ прямо сейчас, поэтому обновляйтесь! При обновлении надо обновить чанк tpl.msPromoCode2.generate.
[msEmailTab] Вкладка отправки email в заказе

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

Всем привет! У меня распродажа моих компонентов в честь весеннего нового года (Новруз, Наурыз). Налетайте! Вот список пакетов, которые могут вас заинтересовать:
- msPromoCode2
- msBonus2
- xParser
- allGifts
- xCalc
- msPromoCode
- YandexMaps2
- msDeliveryOnMap
- msOrderFiles
- msAreaOrder
- msWallpapers
- textAdvs
- mseRedirect
- imgArea
- msKuponator
- mspRfiBank
- mspiPayBy
- msBitrixCatalog
Скидки действуют до 31 марта 2020 года!
[msBonus2] Миграция с msBonus на msBonus2

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

Мало кто знает, что msPromoCode2 можно использовать и как компонент для скидок на товары, без обязательного ввода промо-кода юзером. Всего лишь нужно написать маленький плагин, взаимодействующий с программным API. В этом посте предлагаю данный кейс.
К сожалению, никак не успеваю пополнить раздел API, пусть этот пост станет началом!
[xParser] 1.8.0 Вспомогательный Node JS демон или ускоряем парсинг в 27 раз!

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

Привет, ребята! У меня приятная новость!
Я решил объявить распродажу своих компонентов с 20% скидкой. Список компонентов у меня постоянно пополняется (уже 18 платных!), поэтому думаю это будет полезно многим:
- msPromoCode2
- msBonus2
- xParser
- allGifts
- xCalc
- msPromoCode
- YandexMaps2
- msDeliveryOnMap
- msOrderFiles
- msAreaOrder
- msWallpapers
- textAdvs
- mseRedirect
- imgArea
- msKuponator
- mspRfiBank
- mspiPayBy
- msBitrixCatalog