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

Как добавить настройку количество постов в теме

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

Как добавить настройку количество постов в теме ipb 3.2.3, чтоб пользователь мог выбрать удобное для себя значение, если ему не нравиться например поумолчанию 20?

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

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

в 3.2 такую возможность убрали

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

знаю, поэтому и спрашиваю, как так можно сделать?

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

Возможно ли добавить такую возможность и как?

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

и как?

Например, написать хук.
Опубликовано:
  • Автор

Например, написать хук.

Так бы сразу и написали, теперь все понятно... как же я сам до этого не додумался... просто написать хук )

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

где хотябы этот параметр (количество постов на странице) загружается, может шаблон? чтоб его там можно было подправить, поставив условие.

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

Не в шаблоне это точно, там где идет запрос к бд для получения постов. Но не так-то все просто. Раньше, настройка display_max_topics и display_max_posts переопределялась для конкретного пользователя в ipsRegistry::setUpMember

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

а не знаешь в каком файле это изначально определяется?

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

ipsRegistry, /admin/sources/base/ipsRegistry.php метод setUpMember

Можно поднять файл с версии 3.1x и посмотреть как там происходит переопределение настройки display_max_posts

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

ну вот 3.1.4 в файле ipsRegistry есть такое упоминание

		//-----------------------------------------
	// Fix up some preferences
	//-----------------------------------------

	$ppu = 0;
	$tpu = 0;

	if ( isset( self::$data_store['view_prefs'] ) )
	{
		list($ppu,$tpu) = explode( "&", self::$data_store['view_prefs'] );
	}

	ipsRegistry::$settings[ 'display_max_topics'] =  ($tpu > 0 ? $tpu : ipsRegistry::$settings['display_max_topics'] );
	ipsRegistry::$settings[ 'display_max_posts' ] =  ($ppu > 0 ? $ppu : ipsRegistry::$settings['display_max_posts'] );

	//-----------------------------------------

а в 3.2.3 упоминания о display_max_posts вообще нет в этом же файле.

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

если мне в профиле создать дополнительное поле, и по нему уже регулировать.... вот что то типа такого... как это правильно записать? и вообще такое может проканать, если я добавлю этот код в файл.

if ( $this->memberData['field_14'] != '') 
{
ipsRegistry::$settings[ 'display_max_posts' ] =  $this->memberData['field_14'];
} else 
{
ipsRegistry::$settings[ 'display_max_posts' ] = 20;
}

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

Если например в globalTemplate вставить в начало

<php>
ipsRegistry::$settings[ 'display_max_posts' ]  = 10;
</php>

то на главной страницы, где возле темы идет количество страниц, то они увеличились ровно в двое, то есть с учетом того что стало 10 постов в теме, но вот тему открываешь и все равно 20 постов.

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

а в 3.2.3 упоминания о display_max_posts вообще нет в этом же файле.

Естественно нет, если эта настройка была убрана в 3.2.

Как все это работало - в таблице пользователей ibf_members было поле view_prefs, по умолчанию оно имел значение -1&-1. Первый -1 соответствовало display_max_posts, второй -1 display_max_topics. Пользователь в своем профиле мог изменять желаемое количество постов или тем на странице, так что первая части до амперсанда соответствовало количеству сообщений (display_max_posts), вторая части после амперсанда количеству тем. Как мы видим, в методе setUpMember старой версии переопределяются эти две настройки для конкретного пользователя если у него соответствующая часть больше нуля, если нет то оставались дефолтными.

 

если мне в профиле создать дополнительное поле, и по нему уже регулировать.... вот что то типа такого... как это правильно записать?

Проще было бы уже создать хук/мод по подобию старой версии.

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

Если например в globalTemplate вставить в начало

<php>
ipsRegistry::$settings[ 'display_max_posts' ]  = 10;
</php>

то на главной страницы, где возле темы идет количество страниц, то они увеличились ровно в двое, то есть с учетом того что стало 10 постов в теме, но вот тему открываешь и все равно 20 постов.

а если также на главной странице, при увеличевшимся количестве страниц в двое, шелкнуть например на второй странице темы из 15 постов, то формируется страница из 5 последних постов...

То есть часть идеи работает, но как полностью то это реализовать...

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

То есть часть идеи работает, но как полностью то это реализовать...

 

Проще было бы уже создать хук/мод по подобию старой версии.

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

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