Mibew Messenger Community
General => Support => Русский (ru) => Topic started by: R.V. on April 28, 2015, 08:12:26 PM
-
Приветствую.
Поскольку, мигающий Title не всегда виден, я решил поделиться своим небольшим тюнингом для официального плагина Title Notification.
Данное решение позволит оператору не пропустить новый диалог или сообщение благодаря мигающему favicon. Мигание прекращается как только оператор откроет вкладку браузера с чатом или страницей посетителей.
1. В _layout.handlebars шаблонов по путям ниже необходимо добавить id="favicon", в шестой строке.
/styles/chats/default/templates_src/server_side/_layout.handlebars
/styles/pages/default/templates_src/server_side/_layout.handlebars
Вместо:
<link rel="shortcut icon" href="{{asset "@CurrentStyle/images/favicon.ico"}}" type="image/x-icon" />
Это:
<link rel="shortcut icon" id="favicon" href="{{asset "@CurrentStyle/images/favicon.ico"}}" type="image/x-icon" />
2. В двух файлах, chat_plugin.js и users_plugin.js, в каталоге /plugins/Mibew/Mibew/Plugin/TitleNotification/js
Заменяем строку 38
Mibew.Objects.Collections.messages.on('add', function(model) {
На
Mibew.Objects.Collections.messages.on('add', function(model) {
var icon = '/styles/pages/default/images/favicon.ico';
var iconNew = '/styles/pages/default/images/favicon.gif';
document.getElementById('favicon').href = iconNew;
$(window).bind("focus", function() {
document.getElementById('favicon').href = icon;
});
3. Залить в каталог /styles/pages/default/images/ анимированный favicon.gif который прикреплен к этой теме.
Думаю, можно доработать плагин, что-бы данная возможность стала опциональной через конфиг. Или вообще, выделить новый плагин на это дело, хотя я бы скрестил с текущим.
Надеюсь, кому-то пригодится 8)
P.S. Возможно, анимированный favicon не работет в Chrome.
-
Если Вы создадите pull request в репозиторий плагина (https://github.com/Mibew/title-notification-plugin), мы обязательно рассмотрим возможность включения изменений в официальную версию.
-
Если Вы создадите pull request в репозиторий плагина (https://github.com/Mibew/title-notification-plugin), мы обязательно рассмотрим возможность включения изменений в официальную версию.
До этого не приходилось, поэтому пока не совсем разобрался как собственно pull request сделать без создания fork'a. Или без него никак, и с него и нужно начинать? Пару строк же добавить.
Плюс, нужно внести небольшое дополнение и в шаблон админки, а это отдельно от плагина.
-
До этого не приходилось, поэтому пока не совсем разобрался как собственно pull request сделать без создания fork'a. Или без него никак, и с него и нужно начинать?
Без fork'а никак. Алгоритм работы примерно следующий:
1. Создать fork
2. Создать ветку для изменений
3. Сделать изменения в коде
4. Сделать коммит в ветку из пункта 2
5. Сделать pull request
Подробнее процесс описан в документации GitHub: https://help.github.com/articles/using-pull-requests/ (https://help.github.com/articles/using-pull-requests/)
Плюс, нужно внести небольшое дополнение и в шаблон админки, а это отдельно от плагина.
А вот тут Вы не правы. Не обязательно использовать ID для досупа к тегу link содержащему favicon. В Mibew есть jQuery, а это значит, что Вы можете использовать селектор вида:
$('link[rel*="icon"]')
для получения нужного тега link. Таким образом, нет необходимости менять ядро Mibew.