Павел Гвоздь
С нами с 31 мая 2015; Место в рейтинге пользователей: #3[tvSuperSelect] Кейс. Удобное указание опций для фильтрации в mFilter2
![](https://file.modx.pro/files/8/1/f/81f9de2ef13c2e37e483bb7a6a7ee16f.png)
Часто интернет магазину требуется большое кол-во разделов каталога (500) и такое же большое кол-во опций (200). Заказчик хочет, чтобы:
— опции можно было легко выбирать при редактировании категории товаров,
— на фронте, если у категории не выбрано ни одной опции, брать эти опции из родительской категории, у которой они указаны.
С tvSuperSelect теперь сделать это не так уж сложно, как может показаться.
[tvSuperSelect] 1.2.2 Кастомайз по полной программе!
Ускоряем массовое обновление ресурсов в 3 раза
Массовая выгрузка ресурсов, не такая уж простая задача, как может показаться на первый взгляд. Много подводных камней, касающихся улучшения производительности скрипта. Особенно неприятно, когда тормозит скорость работы из-за функционала ядра MODX.
![](https://file.modx.pro/files/7/a/8/7a8fbc62561746aa831c4532fb8c87d2.jpg)
Так, например, я столкнулся с куском кода в ядре, который увеличивает время выгрузки большого кол-ва товаров в ~3 раза, выполняя одно и то же ресурсоёмкое действие каждый раз, когда скрипт запускает обновление ресурса через процессор modResourceUpdateProcessor.
Сразу оговорю тот момент, что я не считаю этот кусок кода в ядре лишним или вредным, нет! Я полагаю, что этот код при обновлении большого кол-ва ресурсов можно выполнить самостоятельно по окончании работы скрипта выгрузки.
Я говорю вот об этой строчке кода. Давайте попробуем разобраться, что же с ней не так!
![](https://file.modx.pro/files/7/a/8/7a8fbc62561746aa831c4532fb8c87d2.jpg)
Так, например, я столкнулся с куском кода в ядре, который увеличивает время выгрузки большого кол-ва товаров в ~3 раза, выполняя одно и то же ресурсоёмкое действие каждый раз, когда скрипт запускает обновление ресурса через процессор modResourceUpdateProcessor.
Сразу оговорю тот момент, что я не считаю этот кусок кода в ядре лишним или вредным, нет! Я полагаю, что этот код при обновлении большого кол-ва ресурсов можно выполнить самостоятельно по окончании работы скрипта выгрузки.
Я говорю вот об этой строчке кода. Давайте попробуем разобраться, что же с ней не так!
Накидайте интересных тем для статей
Ребята, привет!
У меня есть желание написать несколько полезных статей для вас. Давайте вместе поучаствуем в этом! Вы напишите темы, которые вас интересуют, а я выберу самые интересные из них и напишу статьи/инструкции/кейсы.
![](https://file.modx.pro/files/9/0/0/90086604c24b6771efaa564057202a75s.jpg)
Важно:
— чтобы тематика касалась MODX, хоть каким-то боком,
— не начального, а хотя бы, среднего уровня, чтобы писать было не скучно,
— сразу излагайте вопрос/тему подробнее, чтобы мне не пришлось тратить время на уточняющие детали.
Жду отклика в комментариях!
У меня есть желание написать несколько полезных статей для вас. Давайте вместе поучаствуем в этом! Вы напишите темы, которые вас интересуют, а я выберу самые интересные из них и напишу статьи/инструкции/кейсы.
![](https://file.modx.pro/files/9/0/0/90086604c24b6771efaa564057202a75s.jpg)
Важно:
— чтобы тематика касалась MODX, хоть каким-то боком,
— не начального, а хотя бы, среднего уровня, чтобы писать было не скучно,
— сразу излагайте вопрос/тему подробнее, чтобы мне не пришлось тратить время на уточняющие детали.
Жду отклика в комментариях!
msOptionsPrice2 и склады
![](https://file.modx.pro/files/0/f/3/0f3db65b63710e771f39515fb958bdf7.gif)
Долго ломал голову, как связать msOptionsPrice2 и наличие товара на складах. В модификациях товара у меня хранятся размеры и кол-во. Искал решение или компонент, который бы позволил сделать что-то подобное. Как оказалось, искал не там… В итоге сделал всё на базе msOptionsPrice2 и костыля, как это часто бывает.
[msPromoCode] Кейс. Именные промокоды для пользователя
![](https://file.modx.pro/files/6/a/0/6a09f6f9a64c9a5c742f2e3ce8c2c78b.jpg)
На днях меня спросили, как в msPromoCode можно применить купон только для группы Users. Набросав на коленке плагин и поделившись им с пользователем, я начал размышлять, как бы это упаковать в кейсик. Размышления навели меня на именные купоны. Думаю, пригодится многим.
[xParser] 1.6.3 События плагинов для кастомной логики и код ответа сервера
![](https://file.modx.pro/files/f/c/c/fccfefc0ea2748f6ed43c86d11261dca.png)
Пакет приобрёл 3 события плагинов и научился запоминать код ответа сервера при обращении к УРЛ.
Это круто по ряду причин:
- Можно внедрить свою логику в процесс парсинга,
- Можно совершать кастомные действия на сайте, в зависимости от получаемых данных при парсинге,
- К примеру, если сервер отдал 301/302 редирект или 404 ошибку при обращении к УРЛу подзадания, то мы можем отключить этот ресурс с публикации вовсе.
- Всё ограничивается вашей
степенью извращённостифантазией!
[msBitrixCatalog] Выгрузка каталога miniShop2 в Bitrix24
![](https://file.modx.pro/files/7/2/7/72730b36e34332aa0e3345bc04a2982ds.jpg)
Порой необходимо выгружать каталог товаров с сайта в Bitrix24, при этом полностью сохраняя структуру каталога. А также, всегда держать актуальные цены на товары в Б24. Компонент делает только это, но делает это чертовски хорошо!
Особенности:
— Можно выгружать каталог с сайта вручную, есть специальное окошко,— Если в Б24 есть структура каталога, как на вашем сайте, то компонент подхватит её и свяжет с каталогом на сайте. В последствии, товары/разделы уже будут знать, куда выгружаться (у них будет личный ID на Б24)
— Обход ограничения «QUERY_LIMIT_EXCEEDED» в Б24,
— Выгружать можно 3 способами: вручную через веб-интерфейс, по крон скрипту, при сохранении товара/раздела каталога.
[xParser] 1.6.0 Асинхронная работа и полноценный xPath
![](https://file.modx.pro/files/f/c/c/fccfefc0ea2748f6ed43c86d11261dca.png)
С версии 1.6.0 компонент:
- Поддерживает асинхронную выгрузку изображений, благодаря библиотеке ReactPHP. Разница в скорости парсинга до 3.5 раз.
- Имеет полноценную поддержку xPath, благодаря библиотеке DomCrawler. Раньше использовалась QueryPath, у которой косячный xPath, было много жалоб.
Скидки скидки скидки на пакеты Гвоздя!!!
![](https://file.modx.pro/files/2/a/5/2a548aa9d40f4137dd1925cb1b61b364.png)
Друзья, спешу обрадовать хорошей новостью! На все мои дополнения с 23 февраля по 8 марта (включительно) действует скидка 20%! И на новый YandexMaps2 тоже!