Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

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

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для Invision Community 5

Настройка меню навигации сайта (верхнее меню)

Обычное вложенное меню имеет класс ipsNavBar_active, если активно (кликнуто пользователем).

 

<li {{if $active}}class='[b]ipsNavBar_active[/b]' data-active{{endif}} id='elNavSecondary_{$item->id}' data-role="navBarItem" data-navApp="{expression="mb_substr( get_class( $item ), 4, mb_strpos( get_class( $item ), '\\', 4 ) - 4 )"}" data-navExt="{expression="mb_substr( get_class( $item ), mb_strrpos( get_class( $item ), '\\' ) + 1 )"}">

 

Но это работает только для тех пунктов меню, для которых при создании меню в админцентре уже есть дефолтные опции. Если же создавать меню как "Внешняя ссылка", то при активной вкладке меню - ipsNavBar_active не добавляется в код. Как сделать, чтобы добавлялся?

 

Примеры:

 

Добавляется:

 

<li class="ipsNavBar_active" data-active="" id="elNavSecondary_57" data-role="navBarItem" data-navapp="musicbox" data-navext="Musicbox">

 

Не добавляется:

 

<li id="elNavSecondary_69" data-role="navBarItem" data-navapp="core" data-navext="CustomItem">

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

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

\applications\core\extensions\core\FrontNavigation\CustomItem.php

 

Добавить

	/**
 * Is Active?
 *
 * @return	bool
 */
public function active()
{
	return (string) $this->link() === (string) \IPS\Request::i()->url();
}

  • 2 месяца спустя...

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

Т.е должна быть ссылка только на втором скриншоте.

post-60255-0-51501500-1531430538_thumb.png

post-60255-0-86164800-1531430543_thumb.png

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

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

Т.е должна быть ссылка только на втором скриншоте.

Не вижу у Вас на форуме ничего подобного. Дайте актуальную ссылку.

Да, это на другом проекте.

https://mercury-global.cash/forums/forum/2-merkuriy-global/

 

Стандартно выделена корневая ссылка форума в меню.

Наведите на Меркурий Глобал, там тоже выделено как надо, но должна быть только она.

Наведите на Меркурий Глобал, там тоже выделено как надо, но должна быть только она.

Навел.

Нахожусь в форуме, поэтому в навигации "Форум" выделен

Форум выделен в разделе Сообщество и в разделе Меркурий Глобал. Нужно чтобы только в Меркурий Глобал. Ну и соответственно активная ссылка там тоже была.

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

Форум выделен в разделе Сообщество

Это не связано с правкой. У форумов свое расширение используется.

Я понимаю, реально как-то сделать нормально это? Т.е если не корень форума, то данные берутся из вашей правки.

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

\applications\forums\extensions\core\FrontNavigation\Forums.php

		return !\IPS\core\FrontNavigation::$clubTabActive and \IPS\Dispatcher::i()->application->directory === 'forums';

заменить на

		$active = (!\IPS\core\FrontNavigation::$clubTabActive and \IPS\Dispatcher::i()->application->directory === 'forums');

	if ($active and \IPS\Request::i()->module == 'forums' and \IPS\Request::i()->controller == 'forums' and in_array(\IPS\Request::i()->id, array(2)))
	{
		return false;
	}

	return $active;

Спасибо, но есть опять баг, если зайти например в блоги, форум выделен остается.

post-60255-0-01856000-1531565627_thumb.png

Поправил пост

Большое спасибо, вы лучший. Всё работает как надо.

Что-то странно, гляньте пожалуйста. Создал форумы для других разделов, вставил ссылки, всё идентично. Для новых разделов не хочет корректно работать, а инструкции ( pages ) работают. Думал из-за того что тем нету, пробовал создать - всё равно не хочет.

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

Куда глядеть?

Я не помню, как было раньше.

Так, смотрите. Раздел Меркурий Глобал > Форум ( работает ). Раздел eCurrency > форум ( не работает, выделяется и корневая ссылка что в разделе "сообщество" и ссылка в разделе eCurrency ).

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

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.