Готовые решения
Ошибка работы phpThumb в MODX 2.5.1
В MODX 2.5.1 обновили phpThumb, после чего некоторые дополнения стали неверно работать с картинками.
Проблема встречается на серверах с включенным open_basedir (запрет скриптам выходить из директории сайта) из-за того, что авторы MODX не указывают временную директорию при инициализации.
Для исправления нужно добавить
Вторая проблема касается уже непосредственно дополнений, таких как phpthumbon. Конкретно он не вызывает метод initialize() при запуске класса modPhpThumb, в результате чего настройки директорий вообще не выставляются.
Проблема встречается на серверах с включенным open_basedir (запрет скриптам выходить из директории сайта) из-за того, что авторы MODX не указывают временную директорию при инициализации.
Для исправления нужно добавить
$this->setParameter('config_temp_directory',$cachePath);
на 34 строке файла core/model/phpthumb/modphpthumb.class.phpВторая проблема касается уже непосредственно дополнений, таких как phpthumbon. Конкретно он не вызывает метод initialize() при запуске класса modPhpThumb, в результате чего настройки директорий вообще не выставляются.
[fullCalendar] Пример системы записей
Работая над обновлением компонента fullCalendar и глубже вникая в api яваскрипт библиотеки fullCalendar, получил очень большое впечатление от её возможностей. А с впечатлением пришло и понимание, что её применение можно расширить. Например, она достаточно легко позволяет реализовать несложную систему записей. Вариаций может быть достаточно много. Я хочу продемострировать один из примеров такой системы в стиле EMIAS (запись к врачу).
Как создать свою сборку для MODX
Как и обещал, выкладываю инструкцию — как на основе сборки siteExtra сделать свою сборку. Скачать исходники можно на гитхабе https://github.com/ilyautkin/siteExtra. Полученный архив загружаем на сайт и распаковываем.
Сохранение корзины для пользователей
На одном из проектов появилась задача сохранять содержимое корзины для зарегистрированных пользователей, чтобы при последующей авторизации с любого компьютера они имели возможность продолжить покупки, а не добавлять все заново.
В качестве решения получился очень простой плагин, который выполняет 2 действия:
1) Сохраняет содержимое корзины в extended поля пользователя после каждого изменения корзины
2) Восстанавливает содержимое корзины перед каждой обработкой запрошенной страницы.
В качестве решения получился очень простой плагин, который выполняет 2 действия:
1) Сохраняет содержимое корзины в extended поля пользователя после каждого изменения корзины
2) Восстанавливает содержимое корзины перед каждой обработкой запрошенной страницы.
Расчет стоимости доставки - модификация.
Сборка магазина на базе miniShop2. Большая скидка!
Объявляем неделю скидки на сборку интернет-магазина на базе miniShop2.
Цена
Женим mFilter2 и tvSuperSelect
Понадобилось однажды сделать фильтры по диапазону. То есть, например, в поселке Один участки площадью 10-15 соток, а в поселке Два — 13-20 соток. Фильтровать нужно поселки по по площади участка. В итоге я пришел к тому, чтобы в tvSuperSelectпоселку писать крайние значения (10, 15), а на фронтенде — стандартные ui-slider от mFilter2…
И тут выяснилось, что mFilter не знаком с суперселектом)
И тут выяснилось, что mFilter не знаком с суперселектом)
Резервное копирование сайта на MODX в Google Диск
О необходимости резервного копирования сказано много. Мы в этой статье рассмотрим удобный и простой способ для серверов, настроенных по этой замечательной инструкции.
Итак, вводные данные:
Итак, вводные данные:
- Каждый сайт работает от своего пользователя;
- Все сайты находятся в /var/www/ ;
- Системное имя пользователя, имя пользователя БД и название БД совпадают.
- Создание zip архива всего сайта и sql дампа БД в ~/backup
- Подстановка даты в имя файлов
- [Опционально] Закачивание всех архивов в Google Drive и удаление с сервера
Просмотры, комментарии всех дочерних тикетов
Может кому-то пригАдится пригодится сниппет для подсчета всех дочерних тикетов, их комментариев и количества просмотров. Выводит информацию по всем дочерним тикетам, вне зависимости от иерархии и вложенности. Написан на очень скорую руку (точнее, переделан и собран из сниппетов Василия), так что, почти Франкенштейн… Мне сгодился для форума на сайте, построенного на Тикетсах, в силу того, что есть вложенные разделы тикетов в другие разделы тикетов.