Composer пакеты для Yii2

В процессе разработки проектов у меня часто возникает потребность и желание выностить один и тот же повторяющийся функционал в отдельные пакеты, для последующего их повторного использования. Когда эти желания совпадают с возможностями и наличием свободного времени, то я делаю это, создавая и выкладывая пакеты на github. Наиболее достойные, стабильные и документированные буду выкладывать в этом разделе. Желающие сделать pull-request всегда приветствуются.

floor12/yii2-metamaster floor12/yii2-metamaster

Быстрое добавление и редактирование SEO и OpenGraph мета-тегов.

Build Status Latest Stable Version Latest Unstable Version Total Downloads License

В том случае, когда мы разрабатываем на yii2 публичный сайт, а не какую-то внутреннюю информационную систему, то нам необходимо организовать генерацию различных seo и OpenGraph тегов. Часть этих тегов индексируется поисковыми системами (Page title, meta-description, meta-keywords). Другая часть, OG и Twiiter теги нужны для корректного отображения предварительного просмотра (миниатюры) страницы во время шаринга её в социальных сетях. При этом, часто бывает нужно установить, картинкой-обложкой на конкретную страницу, скажем картинку статьи, а при шаринге других разделов - показывать картинку по-умолчанию. Все эти проблемы призвано решить это небольшое расширение для фреймворка Yii2. С помощью него возможно в пару-тройку строк вызвать класс, передав в него объект View, можно обогатить его всеми необходимыми тегами.

floor12/yii2-notification floor12/yii2-notification

Нотификации в браузере через JS и PHP-api с очередью.

Latest Stable Version Latest Unstable Version Total Downloads License

В любых проектах так или иначе необходимо показывать нотификации пользователю. Я вынес в отдельный пакет небольшой компонент для создания уведомлений в браузере трех типов: информационные (info), позитивные(success) и негативные(error). Использовать дополнение легко вызывая JS функцию или PHP-класс. Для визуализации уведомлений используется FontAwesome. Кастомизировать стили отображения можно переопределив несколько CSS-стилей.

floor12/yii2-editmodal floor12/yii2-editmodal

Создание и редактирование объектов в модальном окне.

Latest Stable Version Latest Unstable Version License Total Downloads

Данный набор хелперов и экшенов я использую в десятках проектов. С помощью вызова в декларативном стиле длинною в несколько строк, обеспечиваю создание, редактирование и удаление объектов. Остаётся только написать экшены для просмотра. Рекомендуется использовать вместе с Pjax, для всего этого есть удобные хелперы в комплекте, дабы после отработки редактирования в модальном окне или удаления объекта, обновлять контент на странице. Для вникания в тонкости надо либо читать исходники, либо написать более хорошую документацию (чем есть сейчас) и снабдить хорошими примерами. Возможно, даже, написать отдельную статью.

floor12/yii2-module-files floor12/yii2-module-files

Нормальная работа с файлами ваших ActiveRecord-моделей.

Build Status Latest Stable Version Latest Unstable Version Total Downloads License

Организация работы с файлами всегда была головной болью для меня, в той или иной степени. Этот модуль - это третья попытка решить эту проблему. Данный модуль имеет почти все необходимые возможности: добавляет к моделям любое количество файловых полей, с отдельными валидаторами (с возможностью использовать сценарии), а так же позволяет работать с файлами использую виджет, поддерживающий предварительный  просмотр офисных документов, кроп и поворот изображений, драг-н-дропную загрузку и сортировку файлов. Так же, в поставке, идет виджет для вывода файлов, в виде списка с возможностью скачать все файлы одним архивом.

floor12/yii2-module-banner floor12/yii2-module-banner

Размещение обычных и pop-up баннеров, создание слайдеров из баннеров.

Latest Stable Version Latest Unstable Version Total Downloads License

Этот модуль сразу решает 3 задачи. Во-первых, он позволяет разместить на сайте виджеты-площадки, куда потом из административного раздела назначаются баннеры. Во-вторых может организовать в таком виджете слайдер, что часто бывает нужно сделать на главной странице сайте. Кроме того, с помощью этого модуля можно показывать поп-ап баннеры пользователям, а так же выставлять периодичность для показа такого баннера (например, показывать раз в 2 дня).

floor12/yii2-module-mailing floor12/yii2-module-mailing

Модуль для отправки рассылок с сайта с учетом открытых писем и переходов по ссылкам.

Build Status Latest Stable Version Latest Unstable Version Total Downloads License

Массовая рассылка писем с новостями или еще чем-то полезным пользователям - дело обычно. Данный модуль позволяет отправлять письма с вложениями на произвольные списки адресов, на заранее подготовленные списки, а так же использовать ActiveRecord модели вашего приложения как источник адресов (все это конфигурируется в настройках модуля).

Кроме того, при помощи добавления в рассылку gif файла 1х1 пиксель, можно приблизительно отследить количество открытых писем, а подменяя ссылки из письма на те, что редирекят получателя через ваш проект - посчитать, сколько ссылок из письма было открыто пользователем.

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

floor12/yii2-phone floor12/yii2-phone

Валидатор и форматтор для телефонных номеров.

Build Status Latest Stable Version Latest Unstable Version Total Downloads License

К сожалению в стандартном компоненте Formatter в Yii2 отсутствует возможность форматировать телефонные номера, а так же среду core validators нет валидатора на телефонный номер (хотя для email, например, он есть. Лично мне в проектах, которыми я занимаюсь, работать с телефонным номером приходится не реже, чем с электронной почтой. Для этого был написан небольшой компонент, который позволяет это делать достаточно быстро и удобно, а именно: валидировать телефонные номера на клиентской и серверной стороне, а так же форматировать их вывод.