Павел Гвоздь

Павел Гвоздь

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

[xParser] 1.5.0 - Полная поддержка miniShop2 и обновление записей


Наконец-то! Для многих — долгожданный релиз!

Основные нововведения:
  • Поддержка товаров miniShop2 (любые свойства/опции)
  • Поддержка miniShop2 галереи
  • Поддержка ms2Gallery
  • Возможность обновления записей
Павел Гвоздь
04 ноября 2017, 12:42
modx.pro
1
4 264
+7

[msOrderAnalytics] Отправляем заказы в Google Analytics


Небольшой пакет, позволяет слать данные заказов вместе с товарами в Электронную коммерцию Google Analytics. Написан по следам статьи о том, как слать данные в Google Analytics средствами PHP. За идею благодарим Алексея.
Павел Гвоздь
31 августа 2017, 18:58
modx.pro
2
3 053
+9

[mspiPayBy] Интеграция miniShop2 с платежной системой iPayBy

Оплата заказов miniShop2 через платежную систему iPay.by. Оплата в системе производится картами, поддерживаются белорусские рубли, а точнее они установлены по-умолчанию.
Павел Гвоздь
29 августа 2017, 13:10
modx.pro
1 419
+1

Отправляем заказы из ms2 в лиды CRM Битрикс24 (старый протокол)


В сообществе ни раз задавали вопрос про выгрузку заказов из MODX в CRM Битрикс24. Есть достаточно простой способ создавать лиды по старому протоколу. Делается это одним плагином на событие msOnCreateOrder. Да, функционал будет довольно ограничен, но с помощью него добавить лид вполне возможно, правда не прикрепляя к лиду товары. За то не нужно заморачиваться с созданием приложения, получения токена и т.д.
Павел Гвоздь
29 августа 2017, 06:22
modx.pro
3
6 374
+2

mFilter2 и оптимизация скорости на 7k товарах


Всем, кто хоть раз пытался завести mFilter2 на большом кол-ве товаров и хотя-бы 10 опциях в фильтре, известно, что тормозов не избежать. Вот и мне попался на днях сайт, в котором, казалось бы, всего-то 7000 товаров и 10 опций на странице каталога. Однако сниппет фильтра отрабатывал за 3-4 секунды. Переписал на Fenom — стал отрабатывать за 2-3 секунды.
Не годится! Тем более, что у заказчика было требование: «Чтобы сайтом было комфортно пользоваться». Что-ж, взял задачу — надо решать!

Дебаг показал, что проблема в методе mse2FiltersHandler::getMsOptionValues, а именно в запросе (7k товаров!), который выглядит как-то так:
SELECT `product_id`, `key`, `value` FROM `modx_ms2_product_options` AS `msProductOption` 
WHERE (`msProductOption`.`product_id` IN (3394,3408,еще 7 тысяч ID)
AND `msProductOption`.`key` IN ('atr_n1','atr_n6','atr_n5','atr_n12','atr_n43','atr_n46','atr_n29','atr_n11','atr_n44','atr_n2'))
Павел Гвоздь
14 августа 2017, 14:14
modx.pro
42
4 917
+21

msOptionsPrice2 и составной товар


Возникла необходимость при помощи msOptionsPrice2 реализовать составной товар. Оказалось, что компонент не умеет прибавлять к начальной цене товара несколько цен из модификаций одной опции.
Например, есть опция Наполнители, у нее около 20 значений. На фронте, при выборе каждого из значений, цена товара должна увеличиваться на N рублей. Проблема заключается в том, что имена тегам чекбоксов мы даем в виде массива:
<input type="checkbox" name="cb[]">
Компонент, в свою очередь, с таким работать не умеет. Предлагаю решение в четыре простых шага!
Павел Гвоздь
12 августа 2017, 06:56
modx.pro
34
7 673
+14

Мультидоменность контекстами


В сообществе часто проскакивают вопросы про мультидоменность на одной копии MODX. А у меня, как раз, сайты демо версий компонентов реализованы таким образом. Думаю, информация будет полезной!
Павел Гвоздь
10 августа 2017, 16:01
modx.pro
36
6 355
+29

[xParser] 1.4.0 - Поддержка пагинации на доноре


Внедрена поддержка пагинации на сайте-источнике. Теперь можно выкачивать все записи, включая самые старые. Постарался реализовать максимально просто.
Павел Гвоздь
03 августа 2017, 18:44
modx.pro
1 786
+9

[xLike] Идеальная система лайков с оптимистичным интерфейсом и правильной формулой

Пакет довольно прост и одновременно функционален. Выполняет систему рейтинга для любого объекта, по-умолчанию, для ресурсов. Чем-то напоминает систему лайков на YouTube, в частности, в пакете реализован оптимистичный интерфейс.


Также, особенностью компонента является правильный подсчет рейтинга на основе вычисления нижней границы доверительного интервала Вильсона для параметра Бернулли. По-простому: эта формула не даст встать новым записям с 1 лайком и 0 дизлайками выше более старых записей с сильным рейтингом.

Список преимуществ:
  1. Оптимистичный интерфейс,
  2. Наиболее правильная формула вычисления рейтинга,
  3. Работа с любыми объектами (modResource, modUser, кастомные объекты),
  4. Голосование гостями,
  5. Анимированное изменение полосы/числа рейтинга,
  6. Событие плагина — xLikeOnVote.
Павел Гвоздь
16 июля 2017, 18:05
modx.pro
18
11 708
+34

[ExtJS] Расширяем нативную гриду юзеров


После статьи о расширении профиля юзера правильными дополнительными полями мне посыпались вопросы о расширении нативной таблицы со списком юзеров. Мы знаем, что практически любой стандартный компонент системы, работающий на ExtJS, можно расширить не затрагивая исходника. Главное уметь пользоваться «методом тыка» понимать принцип того, что делаешь. Что-ж… давайте расширять нативную таблицу пользователей!
Сразу опишем задачу, которую реализуем в рамках статьи:

  1. Убрать слева каждой записи ненужный чекбокс,
  2. Добавить столбцы: Фото, Дата рождения, Страна, Город,
  3. Добавить возможность отфильтровать пользователей по стране,
  4. Заменить некрасивое поле поиска на симпатичное и компактное,
  5. Подсветить заблокированных красным цветом.
Павел Гвоздь
07 июля 2017, 19:14
modx.pro
43
5 204
+21