Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Zero108

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

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

04/29/18 22:07 (изменено)

Обычное вложенное меню имеет класс 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();
}

  • Upvote 2

Поделиться сообщением


Ссылка на сообщение
07/12/18 21:22 (изменено)

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

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

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/

 

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

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

Поделиться сообщением


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

Навел.

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

Поделиться сообщением


Ссылка на сообщение
07/14/18 08:28 (изменено)

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

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

Поделиться сообщением


Ссылка на сообщение

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

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

Поделиться сообщением


Ссылка на сообщение
07/14/18 09:36 (изменено)

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

Изменено пользователем 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;

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

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

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

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение
07/14/18 23:25 (изменено)

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

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

Поделиться сообщением


Ссылка на сообщение

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

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

Поделиться сообщением


Ссылка на сообщение

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

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

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

×
×
  • Создать...