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

Сделать компонент главной страницей

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

Кто-то пробовал сделать компонент (autocom=somecomponent) главной страницей форума? Т.е. как при включении ip.portal главной, при переходе в корень форума открытвается портал, но только чтобы открывался не портал, а другой определённый компонет :) поделитесь, пожалуйста, технологией, если не сложно.

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

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

все просто.

 

http://ipbskins.ru/forum/topic1274.html/page__view__findpost__p__6879

вот пост.

цитата:

Для 231 (должно быть актуально и для 2.3.6)

iindex.php

Найти:

$ipsclass->input['act'] = isset($ipsclass->input['act']) ? $ipsclass->input['act'] : ( IPB_MAKE_PORTAL_HOMEPAGE ? 'home' : 'idx' );

if( is_array($ipsclass->input['act']) )
{
$ipsclass->input['act'] = ( IPB_MAKE_PORTAL_HOMEPAGE ) ? 'home' : 'idx';
}

//---------------------------------------------------
// Check to make sure the array key exits..
//---------------------------------------------------

if ( ! isset($choice[ strtolower($ipsclass->input['act']) ][0]) )
{
$ipsclass->input['act'] = ( IPB_MAKE_PORTAL_HOMEPAGE ) ? 'home' : 'idx';
}

Заменить на

if (isset($ipsclass->input['act']))
{
$ipsclass->input['act'] = $ipsclass->input['act'];
}
else
{
$ipsclass->input['act'] = 'component';
$ipsclass->input['module'] = 'Ваш Компонент';
}

if( is_array($ipsclass->input['act']) )
{
$ipsclass->input['act'] = 'component';
$ipsclass->input['module'] = 'Ваш Компонент';
}

//---------------------------------------------------
// Check to make sure the array key exits..
//---------------------------------------------------

if ( ! isset($choice[ strtolower($ipsclass->input['act']) ][0]) )
{
$ipsclass->input['act'] = 'component';
$ipsclass->input['module'] = 'Ваш Компонент';
}

 

Ваш Компонент - замените на код компонента. В данном примере это "somecomponent"

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

andaril, спасибо большое! It's working!

 

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

Заключается оно в навигации.

Теперь главная страница - некий компонент.

Добавил ссылку на форум в меню компонентов (главное меню), ссылка ведёт на ?act=idx.

В class_display.php заменяем строку

		$nav .= "<a href='{$this->ipsclass->base_url}act=idx'>{$this->ipsclass->vars['board_name']}</a>";

на

		$nav .= "<a href='{$this->ipsclass->base_url}'>Главная</a>";

Навигация в общем и целом теперь устраивает, кроме одного момента: Как при переходе на форум (?act=idx), добавить в строку навигации объект "Главная > Форум..."?, а то, естесственно, остаётся "Главная >" - немного "не комильфо".

 

Я кажется видел что-то похожее на этом форуме, но сейчас пересмотрел все похожие теги и поиск, но не нашёл :)

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

можно сделать в шаблонах.

В общем шаблоне форума, перед <% navigation %> прописать нужное.

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

:) Так не очень красиво, но в принципе можно, если немного напильником обработать при вёрстке.

 

...хотя нет, так вобще не красиво, ибо на главной будет навигация "Главная -> Форум", на других "Главная -> Форум -> Другая".

 

Вобщем поиск решения продолжается...

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

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

Проще включить портал, а потом в индексе и дисплее заменить act=home на act=компонент. Как раз будет нужная ссылка.

  • 4 месяца спустя...
Опубликовано:

а ещё проще отредактировать в шаблоне глоболе start_nav - и всё! :)

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

Извиняюсь за то, что не совсем по теме. Но уж очень хочется. :(

Я правильно понимаю, что формирующийся движком "довесок" к урлу главной форума act=idx можно удалить в приведённом куске кода файла sources/classes/class_display.php

$nav .= "<a href='{$this->ipsclass->base_url}act=idx'>{$this->ipsclass->vars['board_name']}</a>";

и мне за это ничего плохого не будет?

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

А Вы попробуйте, только предварительно файл сбэкапьте.

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

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