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

Редирект на страницу IP.Content со вкладки главного меню

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

09/12/14 00:51 (изменено)

Попробую

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

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


Ссылка на сообщение
09/12/14 01:05 (изменено)

А как, кстати, сделать language abstracted заголовок вкладки меню, если вкладка добавляется не через аддоны, а через меню ip.content?

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

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

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


Ссылка на сообщение
Метод siv1987 лучше, потому что в этом скине активная вкладка выделяется по-другому (отличается от неактивной, выделяется классом 'left active'), а стандартным способом, предложенным Dmitriy427, не выделяется, хотя, ссылка работает. Спасибо, что подсказали.
Странно. Проверил, вкладка выделена.

Единственный минус - при загрузке страницы временно выделяются 2 вкладки: кастомная и основная Контента

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


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

Странно. Проверил, вкладка выделена.

Единственный минус - при загрузке страницы временно выделяются 2 вкладки: кастомная и основная Контента

 

Методом Dmitriy427, вкладка не выделялась. Страницу добавлял через ip.content, вкладку тоже.

 

Как сделать методом, предложенным Dmitriy427, language abstract на названии вкладки в паблике?

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

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


Ссылка на сообщение
09/15/14 13:41 (изменено)

Метод проще тем, что не нужно править шаблоны, если вас устраивает то, что активны две вкладки.

 

Правка для того, чтобы была активна только кастомная вкладка. Шаблон "primary_navigation", группа шаблонов skin_ccs_global, найти:

					if( substr( $menuItem['menu_position'], 0, strlen($data['app_dir']) ) == $data['app_dir'] AND ( !$menuItem['menu_permissions'] OR !IPSMember::isInGroup( $this->memberData, explode( ',', $menuItem['menu_permissions'] ) ) ) )

Заменить на:

					if( IPSText::UNhtmlspecialchars($menuItem['menu_url']) == 'http://mysite.mu/index.php/page/котировки.html' AND urldecode($_SERVER['REQUEST_URI']) == '/index.php/page/котировки.html' )
				{
					$tabIsActive	= true;
				}
				elseif( urldecode($_SERVER['REQUEST_URI']) == '/index.php/page/котировки.html' )
				{
					$tabIsActive	= false;
				}
				elseif( substr( $menuItem['menu_position'], 0, strlen($data['app_dir']) ) == $data['app_dir'] AND ( !$menuItem['menu_permissions'] OR !IPSMember::isInGroup( $this->memberData, explode( ',', $menuItem['menu_permissions'] ) ) ) )

 

Найти:

			if( !in_array( $menuItem['menu_id'], $this->menuDrawn ) AND ( !$menuItem['menu_permissions'] OR !IPSMember::isInGroup( $this->memberData, explode( ',', $menuItem['menu_permissions'] ) ) ) )

Заменить на:

			if( IPSText::UNhtmlspecialchars($menuItem['menu_url']) == 'http://mysite.mu/index.php/page/котировки.html' AND urldecode($_SERVER['REQUEST_URI']) == '/index.php/page/котировки.html' )
		{
			$tabIsActive	= true;
		}
		elseif( urldecode($_SERVER['REQUEST_URI']) == '/index.php/page/котировки.html' )
		{
			$tabIsActive	= false;
		}
		elseif( !in_array( $menuItem['menu_id'], $this->menuDrawn ) AND ( !$menuItem['menu_permissions'] OR !IPSMember::isInGroup( $this->memberData, explode( ',', $menuItem['menu_permissions'] ) ) ) )

 

P.S. Код отредактировал, добавил вторую замену. Не знаю, что там с у вас с ЧПУ, поэтому ссылки и uri поправьте сами.

 

Ваш метод не работает. Прицепил измененный шаблон primary_navigation

 

Второй вопрос, отдельный: "А если вкладок несколько добавляю, что на что менять?"

primary_navigation.txt

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

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


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

Проверю, как время будет. Что бы несколько вкладок таких сделать нужно добавлять условия по каждой ссылке очевидно, но это громоздко и некрасиво будет. Возможно что-то получится с проверкой уникальных для кастомной вкладки значений переменных, нужно посмотреть структуру массива $menuItem.

  • Upvote 1

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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