Обновление затрагивает список заказов miniShop2, а именно форму для фильтрации, в которой можно указать параметр, по которому будет сделана выборка списка заказов.
В новой версии добавлено
нежное расширение ExtJS объекта
miniShop2.panel.OrdersForm. Поле для ввода промокода аккуратно добавляется вторым, после поля поиска по номеру заказа.
Спонсор сего чуда Muscat Catering, все вместе их благодарим! А под катом скриншот того, как это выглядит и рекомендованное действие, которое нужно совершить после обновления компонента.
Читать далее →
Привет, друзья!
Вы задумывались, как работают сессии в MODX? Каждый раз, когда кто-то заходит на сайт, PHP генерирует ему уникальный id и сохраняет его в куку PHPSESSID. При этом в базе данных создаётся запись modSession с этим id и содержимым текущей сессии.
При каждом запросе на сайт передаётся кука с id, MODX делает запрос в БД, загружает сессию, а потом сохраняет в неё изменения. Минимум 2 запроса в БД каждый раз.
Что же нам предлагает JWT? Отказаться от всех этих действий на сервере, и выдавать всё нужное сразу в одном токене. Он может храниться в кукисах или в локальном хранилище браузера. Ну а дальше, при запросе, из него будет создана сессия пользователя. Соответственно, мы выкидываем работу с БД и не храним пользовательские сессии на сервере вовсе.
Конечно, сразу же встаёт вопрос — а что будет, если пользователь такую сессию подделает? Стандарт JWT ему этого не позволит. Токены можно прочитать, но не изменить, потому что они все подписаны надёжным алгоритмом с ключом на сервере, который пользователь не знает. Это теория, а теперь переходим к практике в MODX.
Читать далее →
Дополнение избавляет от проблемы «разрастания» файла ошибок
error.log
Ротация логов
На некоторых сайтах за годы работы скопилось огромное количество записей в журнале ошибок MODX. Файл
error.log может «весить» гигабайты.
Дополнение
logRotation постоянно проверяет размер этого файла. Как только он превысит максимальный размер, указанный в системных настройках, плагин удалит старые записи и тем самым уменьшит размер файла.
Инструкция
Установите дополнение и в системной настройке
logrotation_size укажите желаемый максимальный размер файла.
Дополнение
в modstore.pro.
Комментарии →
Привет, друзья!
Наконец-то у меня дошли руки до обновления
Theme.Bootstrap, который не менялся аж с 2017 года. Причина проста — если переводить его на Bootstrap 4, то нужно менять и стандартные чанки у кучи дополнений, а это долго.
В итоге, вместе с
Theme.Bootstrap были обновлены и:
- pdoTools
- miniShop2 (помимо чанков вошли еще несколько правок, см. changelog)
- mSearch2 (а здесь чанки даже на Fenom переписаны, ура!)
- Office
Обновлённые дополнения теперь сразу из коробки предлагают адаптивные чанки, заточенные именно под
Bootstrap 4.3.1 с flexbox. На Tickets у меня сил уже не хватило, может, кто другой сделает.
Читать далее →
Представляю вам новую версию самого популярного дополнения в
modstore.pro, которая улучшает работу фильтра с дополнениями для скидок.
Как известно,
mFilter2 работает напрямую с базой данных, чтобы выбирать все данные для построения фильтров максимально быстро. И если эти данные чем-то меняются перед выводом, например дополнением
msDiscount, то в фильтре цены будут одни значения, а при выводе товаров — другие.
Раньше мы просто
расширяли фильтр и добавляли поддержку плагинов при выборке, но в новой версии это сделано из коробки.
Читать далее →
В этом кейсе я покажу, как программно (через плагины) можно обращаться к API и отменять или вовсе запрещать применение промо-кода, когда в корзине есть запрещённые товары.
Я умышленно использовал событие mspcOnSetCoupon вместо mspcOnBeforeSetCoupon, чтобы наглядно показать, как можно отменить скидку на корзину и отменить уже применённый промо-код через API компонента.
Читать далее →