Расширения MODX

[MinifyX] Версия 1.3.0 - переписано всё

Хочу представить вам свежую бета-версию MinifyX, в которой я хотел добавить ровно одну функцию, а в итоге переписал всё заново.

Короткий список изменений:

  • Добавлен плагин для автосборки подключенных скриптов и стилей страницы, с последующей склейкой, минификацией и заменой оригиналов.
  • Так же плагин умеет обрабатывать изображения, если указана высота\ширина или специальный атрибут.
  • Переписан основной класс
  • Переписан сниппет
  • Другой формат хранения готовых файлов
В общем, принцип работы тот же, а вот исполнение совсем другое.

Читать дальше

[miniShop2] Версия 2.1.4-pl3: Обновление чанков

Наконец-то при установке пакета вы можете выбрать, какие чанки нужно перезаписать.

Простите, что так долго, но для этого пришлось покопать исходники и задействовать фантазию. Вышло хорошо, буду внедрять и в других компонентах.

Еще исправлены иконки Bootstrap в чанках. Точнее, переписаны классы с версии 2 на версию 3.

Также исправлена ошибка форматирования цены и веса.

Негусто, конечно, но я решил, что новость про выборочное обновление чанков при установке заслуживает отдельной заметки.

Про импорт из CSV я писал ранее.

Читать дальше

[Jevix] Версия 1.2.0 - исправление ошибок обработки

Jevix — это замечательный проект для фильтрации и типографирования текста. Он удяляет лишние теги, предотвращает XSS и даже контролирует возможные атрибуты тегов.

Изначально он написан на perl, затем был портирован на PHP. Насколько я знаю, эта версия сейчас никем не обновляется.
Тишина и в официальном репозитории, и в репозитории Livestreet.

Поэтому мне пришлось самостоятельно разобраться с некоторыми недостатками в работе Jevix и сегодня я предлагаю вам новую версию.

Читать дальше

[pdoTools] Версия 1.9.0-beta со своим парсером

Представляю вашему вниманию новую бета-версию pdoTools. Сразу предупреждаю, изменений в ней очень много, поэтому может барахлить — не стесняйтесь откатываться на предыдущую стабильную и писать о проблемах.

Итак, главное изменение — это собственный pdoParser, который вы можете активировать прямо при установке:

Если вы его включаете, то все чанки и шаблоны системы начинают обрабатываться чуть быстрее.

Читать дальше

[Sendex] Компонент управления рассылками

Как вы уже знаете, полтора месяца назад стартовал интересный эксперимент — обучающий курс по разработке компонентов для MODX Revolution.

Как таковых обучающих курсов, наверное, много, но здесь цель была не только чему-то научить, но и написать полезное дополнение.

Довольны должны быть все: читатели наконец получили ответы на многие вопросы, а сообщество — новый компонент для работы с рассылками (на этом поле пока не особо есть из чего выбирать).

И вот сейчас я готов показать, что у нас вышло.

Читать дальше

[debugParser] Отлавливаем узкие места

В голове давно вертелась мысль, как бы точно отследить, что именно запускается на странице сайта и насколько тормозит? То есть, прям взять и разобрать все вызовы, по тегам и замерить время.

Пока был в отпуске — придумал общую логику, и как приехал — сразу написал. Итак, новый компонент для отладки работы парсера MODX Revolution — debugParser!

Он заменяет собой родной modParser, вызывает его методы и замеряет время на обработку каждого тега.

Читать дальше

pdoTools + Bootstrap3 + MinifyX = Theme.Bootstrap

Обновил компонент Theme.Bootstrap по последнему слову сайтостроения MODX Revolution.

Просто установите его из репозитория, и вы получите готовый сайт с pdoTools, Bootstrap3 и MinifyX.

При установке создаются 2 новых шаблона и ресурса:

  • Bootstrap.main — вывод ресурсов сайта, с пагинацией
  • Bootstrap.inner — вывод контента страницы, по умолчанию там демонстрация Bootstrap
Все скрипты и стили склеиваются, минифицируются и подключаются при помощи MinifyX.

Читать дальше

[mspQiwi] Прием платежей через Qiwi

Доброго времени суток

Написал не так давно для себя пару кастомных классов для расширения MS2 и приема Qiwi платежей, и решил потренироваться в сборке пакетов и оформить это дело как положено в виде отдельного расширения.

И так, все вышло довольно просто, скачать готовый пакет можно из репозитория SImpleDream
Ну а под катом, распишу что и как работает.

Читать дальше
  • 14 ноября 2013, 01:16
  • Clean
  • 2967
  • 11

[MinifyX] Новая бета версия со встроенным Munee

Прошел почти год с последнего обновления MinifyX. Если кто не знает — это компонент для склейвания и минификации скриптов и стилей.
Он хорошо ускоряет загрузку страницы и позволяет немного обсфуцировать ваши исходники.

Библиотека Munee

В новой версии я переписал все с чистого листа, при этом сохранил основную логику и параметры. А чтобы не беспокоиться за поддержку новых плюшек и исправление ошибок минификатора, вся основная работа переложена на библиотеку Munee.

Что нам это дает?
  • Улучшенные алгоритмы сжатия и склейки
  • Поддержка LESS, SCSS и CoffeScript
  • Более продвинутое кэширование исходных скриптов и стилей
  • Возможность использования Munee напрямую:
    <link href="/assets/components/minifyx/munee.php?files=/css/libs/bootstrap.min.css,/css/site.css&minify=true" rel="stylesheet">
  • Возможность настроить веб-сервер согласно инструкции, чтобы все ваши скрипты и стили отдавались через Munee
  • Munee умеет даже уменьшать изображения, наподобие старого-доброго DirectResize. Эту возможность я не проверял, но можно немного почитать и попробовать самостоятельно.
В общем, я конкретно схитрил, используя Munee — вся грязная работа теперь на нём, а сам MinifyX только проверяет и подготавливает параметры для работы, да подключает готовые файлы на страницу.

Читать дальше

[pdoTools] Версия 1.8.8 Улучшенное кэширование

Новая версия с исправлениями и парой приятных улучшения.

Кэширование

В принципе, код компонента уже довольно хорошо оптимизирован, и явных способов еще ускорить его, без потери функциональности, не видно — поэтому я взялся за кэш.

Сейчас его можно использовать в 2х сниппетах: pdoMenu и pdoPage:
[[!pdoPage?
	&parents=`2`
	&cache=`1`
	&cacheTime=`3600`
]]

Важное отличие от getPage состоит в том, что кэширование всегда производится с учетом id посетителя. К примеру, у меня в списке заметок выводится количество непрочитанных комментариев. Раньше такое кэшировать было нельзя, ибо тогда все видели одни и те же цифры, а теперь — можно.

Гости видят одни результаты, авторизованные пользователи — другие. Лично я закэшировал у себя всё списки тикетов на 120 секунд.

Читать дальше