Новые дополнения и их версии
AnotherPages. Виртуальные страницы для СЕОшников и не только.
[modRetailCRM] - 2.6.10 - Большое обновление
Давненько я ничего не писал про этот компонент, хотя продолжаю выпускать обновления.
Пожалуй пора бы рассказать, чего нового происходит.
Пожалуй пора бы рассказать, чего нового происходит.
msBaskets

Автоматически сохраняет текущую корзину авторизованного пользователя, а также любое количество корзин по желанию авторизованного пользователя.
Позволяет:
1. Быстро создавать заказы из ранее созданных корзин
2. Автоматически восстанавливать последнюю корзину при следующей авторизации / открытии сайта
3. Просмотр сохранённых корзин пользователей в админке
[xParser] 1.8.0 Вспомогательный Node JS демон или ускоряем парсинг в 27 раз!

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

Особенности
— определение локации пользователя по ip
— готовая база городов и регионов России, возможность импорта/ экспорта своих локаций
— в отличие от CitySelect оперирует локациями созданными в базе данных. Позволяет добавить/ изменить нужную локацию под себя.

Особенности
— определение локации пользователя по ip
— готовая база городов и регионов России, возможность импорта/ экспорта своих локаций
— в отличие от CitySelect оперирует локациями созданными в базе данных. Позволяет добавить/ изменить нужную локацию под себя.
[msBonus2] 1.1.0 Время активации и время жизни баллов

Теперь можно назначить время, спустя которое пользователь начнёт использовать начисленные баллы. А также, можно указать время жизни баллов, спустя которое они будут сожжены с баланса пользователя.
Для этого добавлены 2 системные настройки msb2_activation_time_for_bonus и msb2_lifetime_for_bonus. Обе принимают в качестве значения JSON строку, что позволяет настроить поведение баллов (начисление на основной баланс или сгорание) для разных типов действий (за заказ, за регистрацию, за день рождения). Добавил в документацию расширенное описание функционала + примеры.
Спонсор нового функционала — @Сергей. Благодарим его!
Купить компонент можно в Modstore.
[allGifts] Выгрузка товаров с Gifts.ru и других сервисов
Компонент предназначен для выгрузки товаров с Gifts.ru, OasisCatalog.com, Stan.su, XindaoRussia.ru через предоставляемое ими API.

Я постарался максимально упростить процедуру настройки, однако прошу перед покупкой компонента ознакомиться с документацией и убедиться, что вы сможете произвести все необходимые действия!
Помимо этого, компонент не работает без miniShop2 и msOptionsPrice2. Я понимаю, что второй платный, но внедрение функционала модификаций в ядро allGifts сделало бы его дороже на 40-50%, поэтому пришлось воспользоваться готовым решением.
Также, лучше всего выгружать товары на новый пустой сайт, потому что при выгрузке создаётся структура каталога сервиса, с которого происходит первичная выгрузка.

Я постарался максимально упростить процедуру настройки, однако прошу перед покупкой компонента ознакомиться с документацией и убедиться, что вы сможете произвести все необходимые действия!
Помимо этого, компонент не работает без miniShop2 и msOptionsPrice2. Я понимаю, что второй платный, но внедрение функционала модификаций в ядро allGifts сделало бы его дороже на 40-50%, поэтому пришлось воспользоваться готовым решением.
Также, лучше всего выгружать товары на новый пустой сайт, потому что при выгрузке создаётся структура каталога сервиса, с которого происходит первичная выгрузка.
Купить компонент можно на Modstore
[msPromoCode2] Промо-коды второй версии

— Совместимость с msOptionsPrice2 и msBonus2,
— Программное API — можно применить/отменить скидку для юзера в сниппете или плагине,
— Применение промо-кода в бек-энде для уже созданных заказов,
— Применение промо-кода на любой странице сайта и обновление цен товаров на лету,
— Возможность сгенерировать промо-код и вывести сообщение пользователю, когда он провёл на странице N секунд,
— Возможность применять скидку только к одной единице товара,
— Вывод скидки не только в корзине, но и в любом месте сайта, где отображается цена товара,
— И множество мелочей, которые будут приятным дополнением при использовании компонента.
Внимание! Вторая версия не имеет ничего общего с первой версией компонента. Даже в части функционала они отличаются, ибо реализованы совершенно иначе.
Демку потыкать можно тут, документация уже на docs.modx.pro
Компонент можно приобрести в Modstore
Создание компонента спонсировал наш любимый магазин дополнений Modstore.pro
[UserAuthHash] - авторизацию пользователя по хэш-коду.
[UserAuthHash] позволяет авторизовать пользователя без ввода логина и пароля, переходом на сайт по ссылке с хэш-кодом.
Особенности
— авторизация без ввода логина и пароля, переходом на сайт по ссылке с хэш-кодом
— можно включить/выключить возможность авторизации по хэш-коду, задать время жизни хэш-кода, указать контексты авторизации
Особенности
— авторизация без ввода логина и пароля, переходом на сайт по ссылке с хэш-кодом
— можно включить/выключить возможность авторизации по хэш-коду, задать время жизни хэш-кода, указать контексты авторизации
Evolution CMS 2.0 на компонентах Laravel 6.0 — естественная эволюция MODX Evolution

Настало время релиза Evolution CMS 2.0 RC на компонентах Laravel 6.0, но как показал предыдущий релиз и последующие за ним обсуждения — существует масса вопросов и мифов связанных с веткой 2.0.
Самый популярный миф — в новой ветке все изменилось и по-старому уже не будет.
Неправда — будет и по-старому. Основное отличие в том, что сохранив возможности “по-старому” мы добавили возможности и “по-новому”. Уровень входа не изменился, но более продвинутые разработчики получат много готовых решений и возможностей, а те кому достаточно существующих компонентов могут работать также, как и раньше, никто не будет никого лишать привычных вещей. Уровень совместимости максимальный — даже с версии 0.9 вы можете обновиться до 1.4, а с нее до 2.0 при сохранении функционала. Хотя надо учитывать возможные проблемы которые могут возникнуть с depricated методами из за того что нужно поднять версию php до 7.2, но скорость работы того стоит, а реагировать на эти баги буду быстро, чтобы приблизить срок стабильного релиза.
Специально для сомневающихся записал видео в котором система обновлена с 1.0.8 до 1.4 (обновил бы и с более старой версии но не нашел на столько устаревший хостинг)
www.youtube.com/watch?v=E_0PluuMWT0&t=1s
А вот в этом видео уже рассказывается как с 1.4.* обновить до 2.0: www.youtube.com/watch?v=xR9filu4A8o&t=1s
В итоге — на 2.0 можно работать точно также, как и на 1.4 и ниже.