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

Глобальная конструкция на основание кол-ва сообщений

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

Нужно создать глобальную конструкцию что бы действовала на всём форуме, а именно:

 

<if test="$member['post'] > 9">

Здесь скажем данные {$author['avatar']}, то есть посетители видят аватару пользователя, но пользователя у которого больше 10 сообщений

<else />

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

</if>

 

Как можно такую конструкцию создать?

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

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

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

Не понятно что значит действовала на всём форуме? Если речь о данных текущего пользователя то они доступны в массиве $this->memberData, если о пользователе какой-то страницы то они доступны только в тех местах, где определены форумом.

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

Не понятно что значит действовала на всём форуме? Если речь о данных текущего пользователя то они доступны в массиве $this->memberData, если о пользователе какой-то страницы то они доступны только в тех местах, где определены форумом.

Попробую в примере.

Например страница с списком пользователей форума. Нужно что бы посетители на этой странице видели аватары пользователей у которых сообщений больше чем 10, тогда как у тех пользователей у которых меньше 10 сообщений - нужно что бы посетители видели у них не аватар а изображение которое я выставлю после <else />

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

В месте где генерируется аватар составляете нужное условие.

В 3.1 это делается в admin\sources\base\core.php, функция buildAvatar.

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

В месте где генерируется аватар составляете нужное условие.

В 3.1 это делается в admin\sources\base\core.php, функция buildAvatar.

А можно пример составления такого условия?

 

Или вы про это условие?

<php>$memberData = IPSMember::load( $msg['mt_starter_id'], 'core,extendedProfile' );if ( $memberData['avatar_location'] == '' ) {
       $location_pm = '/grafik/noavatar.png';
} else {
       $location_pm = $this->settings['upload_url'] . '/' . $memberData['avatar_location'];
}</php><a href='{parse url="showuser={$msg['_starterMemberData']['member_id']}" base="public" seotitle="{$msg['_starterMemberData']['members_seo_name']}" template="showuser"}'><img src={$location_pm} {parse resize_image="$location_pm" maxheight="24"} class='photo' style='max-height: 24px;max-width: 28px'/></a><else /><img src='/grafik/atar.png' class='photo' style='max-height: 24px;max-width: 28px'/></if>

Это немного не то, так как для многих страниц оно не подходит, так как даёт на некоторых страницах много запросов к базе данных.

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

Да, логика такая, но править нужно не в шаблоне а в функции, чтобы не создавать лишние запросы.

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

но править нужно не в шаблоне в функции, чтобы не создавать лишние запросы.

А какую правку нужно сделать?

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

А какую правку нужно сделать?

Пробовал кое какую конструкцию сделать в core.php, не прокатывает.

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

Перед

 

   	//-----------------------------------------
   	// Defaults...
   	//-----------------------------------------

   	$davatar_dims	= explode( "x", strtolower(ipsRegistry::$settings['avatar_dims']) );

Добавить

 

		if( $member['posts'] < 10 )
	{
		return "<img src='" . ipsRegistry::$settings['upload_url'] . "/no-avatar.jpg' alt='' />";
	}

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

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