Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Trotor

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

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

12/26/16 21:20 (изменено)

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

 

<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 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...