Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Как добавить кастомную иконку со ссылкой в Userbar?

Опубликовано:

Хочется добавить иконку, например, иконку Телеграм со ссылкой на свой канал в Userbar. Есть пара образцов, как добавляются такие иконки для разных плагинов. Например, плагин добавления уведомлений о неодобренном контенте:

 

<?xml version="1.0" encoding="UTF-8"?>
<plugin name="Approval Queue on UserBar" version_long="10000" version_human="1.0.0" author="Bruno Carvalho" website="http://tibiaking.com" update_check=""><hooks><hook type="S" class="\IPS\Theme\class_core_front_global" filename="18f11b87cf4b1096e1bc4f373d59db82"><![CDATA[//<?php

class hook27 extends _HOOK_CLASS_
{

/* !Hook Data - DO NOT REMOVE */
public static function hookData() {
return array_merge_recursive( array (
 'userBar' => 
 array (
   0 => 
   array (
     'selector' => '#elUserNav > li.cReports.cUserNav_icon',
     'type' => 'add_after',
     'content' => '<li class=\'cApproval cUserNav_icon\'>
<a href=\'{url="app=core&module=modcp&controller=modcp&tab=approval" seoTemplate="modcp_approval"}\' id=\'elModCPApprovalCount\' data-ipsTooltip title=\'{lang="modcp_approval"}\'>
	{{$approvalQueueCount = \IPS\Content\Search\Query::init()->setHiddenFilter( \IPS\Content\Search\Query::HIDDEN_UNAPPROVED )->count();}}
	<i class=\'fa fa-hourglass-half\'></i> {{if $approvalQueueCount}}<span class=\'ipsNotificationCount\' data-notificationType=\'approvals\'>{$approvalQueueCount}</span>{{endif}}
</a>
</li>',
   ),
 ),
 'mobileNavigation' => 
 array (
   0 => 
   array (
     'selector' => '#elUserNav_mobile > li.cReports.cUserNav_icon',
     'type' => 'add_after',
     'content' => '<li class=\'cApproval cUserNav_icon\'>
<a href=\'{url="app=core&module=modcp&controller=modcp&tab=approval" seoTemplate="modcp_approval"}\' id=\'elFullReports\' data-ipsTooltip title=\'{lang="modcp_approval"}\'>
	{{$approvalQueueCount = \IPS\Content\Search\Query::init()->setHiddenFilter( \IPS\Content\Search\Query::HIDDEN_UNAPPROVED )->count();}}
	<i class=\'fa fa-hourglass-half\'></i> {{if $approvalQueueCount}}<span class=\'ipsNotificationCount\' data-notificationType=\'approvals\'>{$approvalQueueCount}</span>{{endif}}
</a>
</li>',
   ),
 ),
), parent::hookData() );
}
/* End Hook Data */
}]]></hook></hooks><widgets/><htmlFiles/><cssFiles/><jsFiles/><resourcesFiles/><lang/><versions><version long="10000" human="1.0.0"><![CDATA[//<?php


/* To prevent PHP errors (extending class does not exist) revealing path */
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
exit;
}

/**
* Install Code
*/
class ips_plugins_setup_install
{
/**
 * ...
 *
 * @return	array	If returns TRUE, upgrader will proceed to next step. If it returns any other value, it will set this as the value of the 'extra' GET parameter and rerun this step (useful for loops)
 */
public function step1()
{


	return TRUE;
}

// You can create as many additional methods (step2, step3, etc.) as is necessary.
// Each step will be executed in a new HTTP request
}]]></version></versions></plugin>

 

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

Изменено пользователем Zero108

Рекомендованные сообщения

Опубликовано:
  • Автор

Вышеприведенный код добавляет вот такую иконку со ссылкой на неодобренный контент. Хочется сделать что-то подобное, но со ссылкой на Телеграм-канал: иконка с url ссылкой.

hbWYCEl.png

 

Класс иконки такой:

 

<i class="fab fa-telegram-plane"></i>

 

Unicode: f3fe

 

Страница иконки

Изменено пользователем Zero108

Опубликовано:
  • Автор

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

 

<?xml version="1.0" encoding="UTF-8"?>
<plugin name="Telegram on top" version_long="10001" version_human="1.0.1" author="Zero108" website="www.a108.net" update_check=""><hooks><hook type="S" class="\IPS\Theme\class_core_front_global" filename="Telegram108"><![CDATA[//<?php

class hook777 extends _HOOK_CLASS_
{

/* !Hook Data - DO NOT REMOVE */
public static function hookData() {
return array_merge_recursive( array (
 'userBar' => 
 array (
   0 => 
   array (
     'selector' => '#elUserNav > li.cReports.cUserNav_icon',
     'type' => 'add_after',
     'content' => '<li class=\'cApproval cUserNav_icon\'>
<a href=\'https://t.me/A108_net\' id=\'telegram\' data-ipsTooltip title=\'Telegram channel\'>
	1<i class=\'fab fa-telegram-plane\'></i>2
</a>
</li>',
   ),
 ),
 'mobileNavigation' => 
 array (
   0 => 
   array (
     'selector' => '#elUserNav > li.cReports.cUserNav_icon',
     'type' => 'add_after',
     'content' => '<li class=\'cApproval cUserNav_icon\'>
<a href=\'https://t.me/A108_net\' id=\'telegram\' data-ipsTooltip title=\'Telegram channel\'>
	<i class=\'fab fa-telegram-plane\'></i>
</a>
</li>',
   ),
 ),
), parent::hookData() );
}
/* End Hook Data */

}]]></hook></hooks><widgets/><htmlFiles/><cssFiles/><jsFiles/><resourcesFiles/><lang/><versions><version long="10001" human="1.0.1"><![CDATA[//<?php


/* To prevent PHP errors (extending class does not exist) revealing path */
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
exit;
}

/**
* Install Code
*/
class ips_plugins_setup_install
{
/**
 * ...
 *
 * @return	array	If returns TRUE, upgrader will proceed to next step. If it returns any other value, it will set this as the value of the 'extra' GET parameter and rerun this step (useful for loops)
 */
public function step1()
{


	return TRUE;
}

// You can create as many additional methods (step2, step3, etc.) as is necessary.
// Each step will be executed in a new HTTP request
}]]></version></versions></plugin>

Опубликовано:
  • Автор

То есть подключить это загрузкой шрифтов и командами в css никак? Параллельно не будет работать?

Опубликовано:

По идее должно работать.

Опубликовано:
  • Автор

Я часа 2 на это убил. fonts.css ковырял, добавлял ссылки на загруженные шрифты, у меня не получилось. 5 версию шрифтов скачивал с указанного выше сайта.

Опубликовано:
  • Автор

Выкрутился, как мог. Сильно не ругать, а помогать!

 

Ссылка на плагин

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.