Станислав
С нами с 25 марта 2017; Место в рейтинге пользователей: #260Обновление MODX 2.8.6 и внезапные проблемы с PHP 7.4
Друзья, спешу донести до вашего внимания две новости.
1. Вышло небольшое обновление MODX до версии 2.8.6.
Список изменений для желающих можно посмотреть здесь. Особо крупных изменений и критичных изменений по безопасности в нем нет. Исправили несколько багов, местами несколько неприятных для разработчиков. Обновили библиотеки PHPThumb и Smarty.
2.Сразу несколько человек столкнулись с проблемами после обновления. Как оказалось текущая версия PHPThumb не поддерживает PHP 7.4 и устанавливая свежий MODX на базе PHP 7.4 вы получаете целый ряд незабываемых впечатлений при работе.
github.com/modxcms/revolution/issues/16468
Не торопитесь обновляться.
1. Вышло небольшое обновление MODX до версии 2.8.6.
Список изменений для желающих можно посмотреть здесь. Особо крупных изменений и критичных изменений по безопасности в нем нет. Исправили несколько багов, местами несколько неприятных для разработчиков. Обновили библиотеки PHPThumb и Smarty.
2.Сразу несколько человек столкнулись с проблемами после обновления. Как оказалось текущая версия PHPThumb не поддерживает PHP 7.4 и устанавливая свежий MODX на базе PHP 7.4 вы получаете целый ряд незабываемых впечатлений при работе.
github.com/modxcms/revolution/issues/16468
Не торопитесь обновляться.
[CDEKIntegrate] Отправка заказов напрямую в CDEK
Представляю вашему вниманию дополнение, реализующее интеграцию магазина с личным кабинетом CDEK. Дополнение позволяет отправлять заказы в CDEK и формировать накладные для отправлений.
[ИНТЕРЕСНО] Server-Sent Events - Уведомления с сервера в браузер в реальном времени
Всем привет! Искал простой способ отправлять уведомления о смене статуса заказа в браузер пользователя. Из вариантов были websocket и сторонние сервисы push-уведомлений. С websocket я разобраться не смог, пробовал запустить workerman на shared-хостинге, но не вышло. Сторонние сервисы вроде sendpulse или comet-сервера не устраивают, потому что они сторонние, их оставлю на крайний случай.
И совершенно случайно я наткнулся на Server-Sent Events. Всё с ними хорошо, кроме одного, опытным путём я понял, что он должен быть запущен всегда, т.е. нельзя запустить его из другого скрипта и передать параметры. Или можно, если кто-то знает как, напишите в комментариях.
Так или иначе я его для своих задач приспособил. Вопрос такой: насколько это будет нагружать сервер и, если никто не знает, то подскажите как можно провести тест под нагрузкой? Предполагается от 1 до 5 тысяч клиентов одновременно.
И совершенно случайно я наткнулся на Server-Sent Events. Всё с ними хорошо, кроме одного, опытным путём я понял, что он должен быть запущен всегда, т.е. нельзя запустить его из другого скрипта и передать параметры. Или можно, если кто-то знает как, напишите в комментариях.
Так или иначе я его для своих задач приспособил. Вопрос такой: насколько это будет нагружать сервер и, если никто не знает, то подскажите как можно провести тест под нагрузкой? Предполагается от 1 до 5 тысяч клиентов одновременно.
[СДЕЛАЙ САМ] Поиск на сайте по-быстрому
ВАЖНО!!!
Я знаю, что есть два отличных компонента для организации поиска по сайту это SimpleSearch, который по-моему не работает с чанками на fenom, и mSearch2, который платный и большой. В связи с этим я решил написать свой вариант поиска — максимально простой и понятный, да неуниверсальный, но позволяющий по нескольким ключевым словам найти нужный ресурс. По сути это форма. которая через ajax отправляется на сервер, где формируется sql-запрос в БД и результат возвращается на фронт. Итак перейдём к коду.
Данное решение не является учебным и рекомендуется к использованию только на собственных проектах, с целью освоения работы с api modx. Для изучения лучших практик, анализируйте код дополнений с сайта https://modstore.pro/
Я знаю, что есть два отличных компонента для организации поиска по сайту это SimpleSearch, который по-моему не работает с чанками на fenom, и mSearch2, который платный и большой. В связи с этим я решил написать свой вариант поиска — максимально простой и понятный, да неуниверсальный, но позволяющий по нескольким ключевым словам найти нужный ресурс. По сути это форма. которая через ajax отправляется на сервер, где формируется sql-запрос в БД и результат возвращается на фронт. Итак перейдём к коду.
[Расширяем miniShop2] Быстрая смена статуса заказа через контекстное меню
Заказчика запарило для смены статуса лазать в полное редактирование заказа, попросил сделать что-то быстрое и простое. На скриншоте выше конечный результат. Чтобы получить такой же, файлы из этого репозитория закиньте себе в папку /assets/ и создайте плагин, который описан в конце статьи. Однако, я настоятельно рекомендую почитать статью, чтобы понимать принцип расширения всего этого дела.
Релиз mSync версии 1.2.0
В новой версии компонента mSync улучшено множество деталей, которых не хватало разработчикам интернет магазинов по результатам обращения в техподдержку.
- Добавлена возможность независимой ручной загрузки файлов import.xml и offers.xml — теперь нет необходимости загружать оба файла, если, например, вы меняете только цены и остатки уже существующих товаров.
- Добавлена автоматическая поддержка пользовательских множественных свойств — ранее добавить свое свойство, которое работало бы аналогично цветам и размерам было большой проблемой, теперь такие свойства выбираются на этапе настройки свойств синхронизации
- Добавлены ключевые свойства для связи товаров с ресурсами MODX (теперь не только по uuid) — если товар не будет найден по идентификатору 1С, то компонент попробует поискать его по совокупности полей, отмеченных как ключевые. Например, если у вас все товары имеют разный артикул и уже созданы на сайте, то по ключевому полю артикул они сопоставятся с товарами, пришедшими из 1С.
- Добавлена возможность сопоставления категорий 1С с ресурсами MODX по имени (через настройку) — аналогично теперь можно сопоставлять категории 1С с существующими категориями на сайте просто по имени
- Реализовано более простое добавление кастомных свойств в плагине на событие mSyncOnBeforeImportProduct — теперь, чтобы добавить свойства и характеристики в товар достаточно добавить их в $data['characteristics']['properties'] или $data['characteristics']['features']
[СДЕЛАЙ САМ] Личный кабинет своими руками. Редактирование персональных данных.
После того как авторизация и регистрация сделаны нужно дать возможность пользователям редактировать свои персональные данные. Для этого создаем ресурс Редактирование данных, в котором вызываем AjaxForm
Localizator, модификаторы для получения переводов
Локализатор очень хорошая штука и хотелось ее опробовать, но как то не задалось переносить уже готовые данные со всего сайта в поля локализатора. Пришлось искать решения для вывода данных и при том с учетом того что же есть в основном контенте страниц.
Итак… модификаторы для вывода данных, пошагово:
1. создаем плагин…
Итак… модификаторы для вывода данных, пошагово:
1. создаем плагин…