Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Haktar

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

Recommended Posts

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

 

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

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

<else />

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

</if>

 

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

Edited by Haktar

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

В 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>

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

Перед

 

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...