EasyFavicon - фавиконки из RealFaviconGenerator не выходя из админки

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

Давайте честно, как это обычно происходит: открываем RealFaviconGenerator, загружаем логотип, настраиваем, скачиваем архив, распаковываем, заливаем по FTP, копируем теги в шаблон, а потом ещё правим site.webmanifest, потому что там MyWebSite вместо названия сайта. А через полгода заказчик просит новогоднюю фавиконку, и всё по новой. А после Нового года — обратно.
EasyFavicon делает всё это из админки:
- Выбираете картинку в медиа-хранилище MODX.
- Настраиваете фавиконку в родном редакторе RealFaviconGenerator.
- Возвращаетесь в MODX, а там файлы уже лежат в каталоге сайта, манифест заполнен, а разметка стоит в <head> каждой страницы.
Возможности
- Сборка в редакторе RealFaviconGenerator. Никакого самописного конструктора: вы работаете в редакторе сервиса со всеми его настройками, а компонент забирает результат.
- Профили. Несколько наборов на одном сайте, один из них активный. Архив каждой сборки сохраняется, поэтому переключение возвращает на сайт и разметку, и файлы. Основная, новогодняя, к распродаже — меняются одним кликом.
- Контексты. У языковой версии или поддомена может быть своя фавиконка: отмечаете у профиля контексты, и в них выводится он, а в остальных — общий. Файлы у RealFaviconGenerator называются одинаково, поэтому компонент следит, чтобы профили разных контекстов не делили один каталог и не затирали друг другу иконки.
- Автовставка. Плагин сам добавляет разметку перед </head>, шаблоны трогать не нужно. Если хочется самому решать, где выводить — есть сниппет.
- Манифест. name, short_name, start_url, id и lang в site.webmanifest заполняются данными сайта. То, что вы вписали в редакторе сервиса, не перезаписывается.
- Кеш браузера. К ссылкам добавляется метка сборки, так что после смены профиля никто не будет разглядывать старую иконку.
- Просмотр результата: превью в браузерах и на мобильных, разметка и список файлов.

Быстрый старт
Для работы нужен API-ключ RealFaviconGenerator. Он бесплатный, получить его можно на realfavicongenerator.net/api и вписать в системную настройку easyfavicon.api_key. Кнопка «Системные настройки» на странице компонента откроет нужный раздел сразу с фильтром. И да, EasyFavicon — независимый компонент: с RealFaviconGenerator я никак не связан, просто пользуюсь их замечательным сервисом, как и многие из вас.
Дальше Пакеты → EasyFavicon → Новый профиль. Мастер из двух шагов: картинка, затем название и каталог (по умолчанию /favicon/).

Нажимаете «Создать и собрать», настраиваете иконки в редакторе, жмёте Generate — и браузер возвращает вас в менеджер уже с установленной фавиконкой. Всё. В шаблон ничего добавлять не нужно.
А если хочу сам выводить разметку?
Можно. Выключаете настройку easyfavicon.auto_inject и вызываете сниппет в <head>:
[[EasyFavicon]]или на fenom
{'EasyFavicon' | snippet : ['profile' => 'Новогодняя']}Без параметра profile выводится активный профиль контекста страницы, пути учитывают base_url, так что сайт в подкаталоге тоже не проблема.Интерфейс
Как и в EasySettings, страница компонента выглядит как родная часть менеджера и в MODX 3, и в MODX 2: те же кнопки, окна, уведомления и подтверждения. В списке есть поиск, сортировка по столбцам и меню действий по правому клику, как в таблицах MODX.


Переводы: русский и английский.
Про безопасность
Компонент распаковывает архив в открытый каталог сайта, поэтому к этому отнёсся серьёзно. Вернуться из редактора можно только в ту сессию менеджера, где сборку начали, скачивание идёт только с realfavicongenerator.net, а из архива на сайт попадают только файлы набора: png, ico, svg, webmanifest и компания. Страница и все процессоры требуют право settings.
Требования
- MODX Revolution 2.4+ или 3.x.
- PHP 7.4+ с расширениями zip, json и curl (или allow_url_fopen).
В следующей, заключительной статье серии — про то, на что посетители жмут «Принять», не читая.
Спасибо всем за внимание и мира над головой.
Техническая поддержка MODX
Сайт лежит, тормозит или остался без разработчика?
Переезд с MODX 2 на 3, PHP 7 на 8, скорость и безопасность. Поддержка со сроками и ответственностью, а не совет в чате.
Подробнее
Реклама
0
Комментарии: 0