Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1 2012-08-25 20:32:32

Vaha
Участник
Зарегистрирован: 2011-02-19
Сообщений: 115
Рейтинг :   

Как сделать чтобы в профиле юзера не отображались незаполненные поля?

Вот есть в профиле поля с доп инфой: аська, город, сайт. Вот эти строки отображаются по умолчанию постоянно. А как сделать, чтобы они отображались только при условии, что будут заполнены юзером? Там походу можно какое-то условие прописать... Вот только какое?

Не в сети

#2 2012-08-25 20:49:41

ROZARD
Модератор
Откуда Россия, Астрахань
Зарегистрирован: 2008-10-13
Сообщений: 1,523
Рейтинг :   82 
Сайт

Re: Как сделать чтобы в профиле юзера не отображались незаполненные поля?

uprofile.php -> function uprofile_showProfile($params)
После:

$tvars['vars'] = array(
		'email'          =>     $urow['mail'],
		'user'		=>	$urow['name'],
		'news'		=>	$urow['news'],
		'com'		=>	$urow['com'],
		'status'	=>	$status,
		'last'		=>	langdate("j Q Y", $urow['last']),
		'reg'		=>	langdate("j Q Y", $urow['reg']),
		'site'		=>	secure_html($urow['site']),
		'icq'		=>	is_numeric($urow['icq']) ? '<a target="_blank" href="http://www.icq.com/people/about_me.php?uin='.$urow['icq'].'">'.$urow['icq'].'</a>' : secure_html($urow['icq']),
		'icqimg'	=>	is_numeric($urow['icq']) ? '<img src="http://status.icq.com/online.gif?icq='.$urow['icq'].'&img=1" />' : '',
		'from'		=>	secure_html($urow['where_from']),
		'info'		=>	secure_html($urow['info']),
		'photo'		=>	$photo,
		'photo_link'=>	($urow['photo'] != "") ? photos_url.'/'.$uphoto:'',
		'avatar'	=>	$avatar
	);

добавь:

$tvars['regx']["'\[site_show\](.*?)\[/site_show\]'si"] = empty($urow['site'])?'':'$1';
[site_show]
<tr>
<td style="padding: 5px; background-color: #f9fafb;" class="entry"><b>{l_uprofile:site}:</b></td>
<td style="padding: 5px; background-color: #f9fafb;" class="entry"><a href="{site}" target="_blank" title="{site}">{site}</a></td>
</tr>
[/site_show]

Не в сети

#3 2012-08-25 21:25:04

Vaha
Участник
Зарегистрирован: 2011-02-19
Сообщений: 115
Рейтинг :   

Re: Как сделать чтобы в профиле юзера не отображались незаполненные поля?

ROZARD, всё понял, спасибо

Если кому интересно, то вот развёрнутый код по всем полям:

В файле uprofile.php добавляем:

$tvars['regx']["'\[site_show\](.*?)\[/site_show\]'si"] = empty($urow['site'])?'':'$1';
	$tvars['regx']["'\[info_show\](.*?)\[/info_show\]'si"] = empty($urow['info'])?'':'$1';
	$tvars['regx']["'\[icq_show\](.*?)\[/icq_show\]'si"] = empty($urow['icq'])?'':'$1';
	$tvars['regx']["'\[from_show\](.*?)\[/from_show\]'si"] = empty($urow['where_from'])?'':'$1';

В шаблоне users.tpl правим вот так:

[site_show]
<tr>
<td style="padding: 5px; background-color: #f9fafb;" class="entry"><b>Сайт:</b></td>
<td style="padding: 5px; background-color: #f9fafb;" class="entry"><a title="{site}" href="{site}">{site}</a></td>
</tr>
[/site_show]
[icq_show]
<tr>
<td style="padding: 5px;" class="entry"><b>{l_uprofile:icq}:</b></td>
<td style="padding: 5px;" class="entry">{icq}</td>
</tr>
[/icq_show]
[from_show]
<tr>
<td style="padding: 5px; background-color: #f9fafb;" class="entry"><b>Откуда:</b></td>
<td style="padding: 5px; background-color: #f9fafb;" class="entry">{from}</td>
</tr>
[/from_show]
[info_show]
<tr>
<td style="padding: 5px;" class="entry"><b>{l_uprofile:about}:</b></td>
<td style="padding: 5px;" class="entry">{info}</td>
</tr>
[/info_show]

Изменено Vaha (2012-08-25 21:29:11)

Не в сети

#4 2012-08-26 08:31:35

easmik
VIP забанил этого пользователя.
Зарегистрирован: 2011-02-01
Сообщений: 1,025
Рейтинг :   37 

Re: Как сделать чтобы в профиле юзера не отображались незаполненные поля?

Vaha, в SVN версии это решается путем xfields и там же можно добавлять любые поля.

Не в сети

#5 2012-08-26 09:41:58

Vaha
Участник
Зарегистрирован: 2011-02-19
Сообщений: 115
Рейтинг :   

Re: Как сделать чтобы в профиле юзера не отображались незаполненные поля?

easmik, ок, спасибо - поюзаю.

Не в сети

Подвал раздела

Работает на FluxBB