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

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

Дизайн и модификация 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

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

Раздел eCurrency > форум ( не работает

В массив добавили ID'шник форума?

in_array(\IPS\Request::i()->id, array(2)

Нет, понял. А нельзя сделать сразу для всех?

А нельзя сделать сразу для всех?

"Все" - это какие? Откуда система должна знать об этом.

  • 1 месяц спустя...

Здравствуйте. Обновил форум до 4.3.5, скопировал функцию заного, перестало работать. Что может быть не так?

Меню правили?

Вижу, что у Вас там используется расширение от Pages, а не CustomItem

На форуме тоже не работает, ничего не менял, только обновил двиг.

Тогда куда нужно нажать и что не так?

Должна быть активной.

post-60255-0-33646400-1534665610_thumb.png

post-60255-0-97272800-1534665695_thumb.png

А CustomItem.php изменили?

Вы мне про кастом ничего не писали вроде.

Вы мне про кастом ничего не писали вроде.

Во втором посте написано

  • 4 недели спустя...

Так, здравствуйте. Немного не так мы сделали.

 

if ($active and \IPS\Request::i()->module == 'forums' and \IPS\Request::i()->controller == 'forums' and in_array(\IPS\Request::i()->id, array(2,3,10)))

 

Здесь мне нужно убрать and \IPS\Request::i()->controller == 'forums' - так как при просмотре темы тоже должно работать.

\IPS\Request::i()->id - это мне нужно заменить на ID форума, если просматривать тему, то выбирается именно ID темы. По аналогии я с блогами делаю, там тоже всё работает, вот только это пофиксить \IPS\Request::i()->id - ID форума и \IPS\Request::i()->id - ID блога как указать?

только это пофиксить \IPS\Request::i()->id - ID форума и \IPS\Request::i()->id - ID блога как указать?

Проверяете, что находитесь в теме, получаете тему по ID, получаете ID форума.

\IPS\forums\Topic::load(\IPS\Request::i()->id)->forum_id

Аналогично для блогов

Что-то не так )

 

	public function active()
{
	$active = (!\IPS\core\FrontNavigation::$clubTabActive and \IPS\Dispatcher::i()->application->directory === 'forums');
	$forum_id = in_array(\IPS\Request::i()->id, array(2,3,10));

       if ($active and \IPS\Request::i()->module == 'forums' and \IPS\forums\Topic::load(\IPS\Request::i()->id)->$forum_id and $forum_id)
       {
           return false;
       }

       return $active;
}

 

Здесь же нужно тема+форум ИЛИ форум?

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

Если Вы на странице форума, то ID форума - \IPS\Request::i()->id

Если Вы на странице темы, то ID форума - \IPS\forums\Topic::load(\IPS\Request::i()->id)->forum_id

 

Определяйте локацию.

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

Аккаунт

Навигация

Поиск

Поиск

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

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