Перейти к публикации
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.

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

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

Добавил вкладку в верхнее меню стандартным способом.

Нужно, чтобы вкладка указывала на страницу

/index.php/page/%D0%BA%D0%BE%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8.html

 

По умолчанию, вкладка указывает на страницу:

/index.php?app=quotations

 

Сайт в облаке IPS, есть доспут к хтакцесс. Прописал в хтакцесс

redirect /index.php?app=quotations /index.php/page/%D0%BA%D0%BE%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8.html

 

- не помогло.

 

Есть какой-то цивилизованный способ настроить редирект средствами ACP или хтакцесса, не прибегая к настройке апача, нгинкса и прочей туманной для меня области?

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

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

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

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

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

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

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

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

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

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

 

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

 

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

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

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

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

 

Правка для того, чтобы была активна только кастомная вкладка. Шаблон "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.

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

Сейчас на странице 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.