Модуль ротации иконки сайта favicon.ico

+18
4.49K
Модуль предназначен для автоматической ротации иконки сайта favicon.ico, с периодичностью, задаваемой из админки модуля. Тестировался на 1.10.4, должен подходить ко всем версиям, начиная с 1.10.1 и позже.

Лень — двигатель прогресса

Казалось бы, ну что тут сложного в иконке? Залил по ftp в корень сайта файлик с именем favicon.ico и дело с концом.

Или уж, если Вы вознамерились положить иконку не в корень, а в другое место, при этом файл иконки имеет имя, отличное от favicon.ico. можно использовать вариант для гурманов — прописать в между тегами <head>...</head> в шаблоне что то вроде
  1. <link rel="shortcut icon" type="image/vnd.microsoft.icon" href="/путь/icon.png" />

Но не тут то было.

Взялся я как-то делать сайт одной девочке. Девочка не блондинко, но эстет и перфекционистка. Сайт я ей сделал, но тут начались фокусы. Она замучила меня подбором иконки. При этом она наотрез отказывалась освоить операцию замены иконки по ftp, заявив, что это для нее "сложно". Она наивно решила, что я для того и родился на свет, чтобы одну за другой заливать иконки на ее сайт, поскольку мне это "просто". Причем идеи, какую иконку залить, у нее возникали быстрее, чем я успевал это делать.

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

Постановка задачи

Мне пришла в голову мысль залить на сайт чохом с сотню иконок, а пусть она потом сама выбирает из админки. Хайре Кришна, щелкать по галкам она таки научилась. Так родилось ТЗ:
1. Оформить ротатор иконок в виде модуля с админкой, где можно задать имя файла иконки.
2. Количество и имена заливаемых файлов заранее не известны.
3. Тогда уж и прикрутить таймер, позволяющий менять иконки на сайте, либо при каждом переходе по страницам сайта, либо через определенный промежуток времени, например, минута, час, сутки.

Интерфейс админки модуля

Интерфейс содержит следующие элементы:
Иллюстрация
1. Включить ротацию. При установленной галке модуль автоматически меняет иконку из коллекции, которая содержится в папке modules/mod_favicon/icons/ с периодичностью, заданной в настройке "Периодичность ротации":
2. Периодичность ротации. Тут из выпадающего списка можно выбрать четыре значения:
— Немедленно. Иконка будет меняться при каждом переходе между страницами сайта
— 1 минута. Вы можете щелкать по ссылкам, но иконка поменяется, только если прошла 1 минута после предыдущей замены.
— 1 час. Аналогично. При этом можно совсем уйти с сайта, а вернуться на него спустя, скажем, 50 минут — модуль помнит время предыдущей замены.
— 1 сутки. Думаю, уже понятно.
3. Эта настройка нужна, если ротация выключена. Здесь можно прописать имя иконки из коллекции, указанной выше. Если ротация включена, данная настройка ни на что не влияет.

Установка модуля

Практически не отличается от установки любого модуля.

1. Залить в корень сайта содержимое архива (за исключением readme.txt)

2. В текущем шаблоне открыть файл templates/_имя_шаблона_/positions.txt и дописать туда позицию favicon.

3. Открыть файл templates/_имя_шаблона_/template.php и между тегами <head>...</head> найти строчку, похожую на
  1. <link rel="shortcut icon" type="image/vnd.microsoft.icon" href="/путь/icon.png" />
Заменить ее на строку
  1. <?php $this->printModules('favicon'); ?>
Если не нашли, ничего страшного, просто вставьте строчку вывода модуля в любое место шаблона между тегами <head>...</head>.

4. Выполнить настройки модуля: показывать на всех страницах, показывать всем группам. Остальные настройки как на картинке:
Иллюстрация

5. Выполнить sql-запрос к БД, чтобы подключить модуль. Текст запроса смотрите в файле readme.txt

6. Модуль поставляется с небольшой коллекцией иконок (их там 6 штук, забросил первые попавшиеся под руку). Вы всегда можете добавить своих, сколько захочется, в папку modules/mod_favicon/icons/. Большинство браузеров поддерживает расширение файла иконки *.ico, *.png и неанимированный *.gif. Если вы забросите анимированную гифку, в Опере она воспроизводиться не будет — увидите статическую картинку. Лис анимированную гифку прокручивает.

Как получить модуль

1. Перечисляете 200 рублей одним из способов, с указанием в сопроводительной записке, от кого пришли деньги и за какую разработку.

wmr 342960323367
яд 410011913797936

2. Пишите мне в личку свои контактные данные — куда выслать архив.

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

Удачи в сайтостроении и чмок моим любимым программисткам)))
0
Stecc Stecc 10 лет назад #
А какой фавикон будет тогда индексировать ПС? scratch
0
Странник Странник 10 лет назад #
Полагаю, тот, который был в момент прихода паука.
Олег Васильевич я Олег Васильевич я 10 лет назад #
Комментарий удален
+4
Странник Странник 10 лет назад #
Идеи у Странника всегда были странные, это точно.
+3
Петрмаг Петрмаг 10 лет назад #
Все классно,только одно большое НО!!! к иконке многие пользователи привыкают годами и в поиске она им как меленький маячок в светлый путь вашей инфы ,а тут то огурец,то помидор,то ястреб ))) в натуре странно))))))))))))

Странник вы молодец!,но тут на любителя...)
+4
Странник Странник 10 лет назад #
Просто Странник не знал, что так делать нельзя и сделал....
0
Странник Странник 10 лет назад #
Если серьезно, у креативных дизайнеров или шаблоноделов могут появиться идеи, как обыграть динамический фавикон, и тем самым получить дополнительные очки.

Как вам такая идея: иконка одна и та же, но на каждый день недели своего цвета? Или: у каждой страницы сайта своя иконка? Или: иконка, показывающая время?

Так вот, данный модуль позволяет технически эти идеи поддержать.

Еще у меня была идея сделать прокрутку иконок по аяксу, если кому-то будет нужно, я сделаю. Но предупреждаю: трафик возрастет. Для медленных соединений это не айс.
-2
letsgo letsgo 10 лет назад #
Осталось сделать еженедельную замену урлов страниц сайтов и вообще сказка будет)

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

Кроме девочек ахающих от мигания блестящего кому то это пригодится?)
+1
Странник Странник 10 лет назад #
Мальчикам, ахающим от мигания.
Не все же сайты должны быть статичными.
И еще. Все новые идеи обычно встречаются в штыки ретроградами, это обычное явление.
-2
letsgo letsgo 10 лет назад #
Новая идея?) По моему лет 7 назад юкоз любил мигать всем подряд. Насчет новизны вы хватанули. Я не против разработки, хоть замену урлов ежедневную сделайте и назовите идеей, просто удивлен, что простые вещи переворачивают.
+1
Странник Странник 10 лет назад #
уже второй раз пишете про замену урлов. я разве предлагал урлы менять? это ваша идея.
дорогой друг, вы сами придумали ахинею и сами свою выдумку критикуете, но приписываете сию идею мне?

мдя. бывает и такое....
Олег Васильевич я Олег Васильевич я 10 лет назад #
Комментарий удален
-4
letsgo letsgo 10 лет назад #
а в сниппете что будет показываться тогда?)
0
Странник Странник 10 лет назад #
то, что было в момент прихода паука. этот вопрос уже задавали.
0
Странник Странник 10 лет назад #
Именно так, дружище.

Видите, у креативного шаблонодела сразу идеи зашевелились. Для таких людей модуль и делался.

Кстати, Олег Васильевич я, ты мне еще идею подкинул. Завтра с утра займусь.
0
Нил™ Нил™ 7 лет назад #
Думаю, ротация не имеет смысла, так как обычно браузеры жестко кэшируют favicon, и если они при первом посещении страницы а увидели иконку б, то при повторном посещении той же страницы, без чистки кэша, браузер снова покажет иконку б.
А загрузка иконки из админки или выбор, видимо может быть полезно)
0
Странник Странник 7 лет назад #
Иконка при ротации переключается модулем именно в момент перехода со страницы на страницу. Поскольку имя файла иконки поменялось, браузер берет картинку не из кэша, а подгружает с сервака. Я этот вопрос выяснил, перед тем, как писать модуль.

Еще от автора

Адаптация компонента "Закладки" от 19 января 2011 к коробочной версии 1.10.7
На форуме появилась тема с пожеланиями адаптировать довольно старый компонент "Instant Bookmarks" Fuze к современным реалиям.
Утилита "Садовод" для версии InstantCMS 1.10.7.008
В этой краткой заметке описывается утилита "Садовод" для ремонта деревьев версии InstantCMS 1.10.7.008.
Изменение компонента "Баннеры" для будущей  версии 1.10.7.008
Данная статья рассказывает всем ждущим новую версию 008, что нового ожидается в будущем релизе версии 1.10.7.008.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.