Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

Дизайн и модификация Invision Community

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для Invision Community 5

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

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

 

<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='' />";
	}

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

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.