Fly, исправила на тестовом. Сам перенесешь на рабочий.
Рассказываю для тех, кто еще столкнется с такой проблемой.
У стиля
Fly постбит (мини-профиль под аватаркой) разбит на блоки. Они могут выглядеть по разному, но суть одна: все выводимые поля обрамляются в рамку, подходящую по стилю.
Пример рамок в постбите:
И если в таком стиле вам захочется добавить дополнительные поля профиля в постбит, вы столкнетесь с проблемой, как сделать, чтобы они тоже обрамлялись рамкой, потому что если просто добавить условие (как рекомендуется, например,
тут
), результат будет предсказуем - рамка вокруг новых полей будет отсутствовать. Плюс на форуме
Fly требовалось, чтобы
несколько дополнительных полей выводились в одной рамке.
Фух
Проблему обрисовала. Теперь решение.
Если сделать такую схему:
<div style="стиль рамок">
<if condition="переменная поля">Вывод переменной</if>
</div>
(как и было сначала сделано в данном случае), блоки будут выводиться в постбит ВНЕ зависимости от того, заполнено поле или нет, о чем
Fly и сообщил в первом сообщении.
Чтобы исправить эту ситуацию, следует поменять местами div и if таким образом:
<if condition="переменная поля">
<div style="стиль рамок">
Вывод переменной
</div>
</if>
Но как сделать так, чтобы в этом поле выводилось сразу несколько переменных? В этом для меня и была сложность данной ситуации.
А решение на самом деле очень простое, нужно всего лишь добавить в условие if несколько переменных через условие OR (или):
<if condition="переменная поля1 OR переменная поля2 OR переменная поля3">
<div style="стиль рамок">
Вывод переменной1 Вывод переменной2 Вывод переменной 3
</div>
</if>
Это схематично.
Вот как это может выглядеть в шаблоне:
Было:
<div class="postbit-box alt1" style="text-align:center"><if condition="$post['field15']"><a href="$bbuserinfo[field15]" target="_blank"><img src="http://vash.domen/images/misc/vkontakte.gif" border="0" title="Пользователь на vk.com" alt="Пользователь на vk.com"></a> </if><if condition="$post['field32']"><a href="$bbuserinfo[field32]" target="_blank"><img src="http://vash.domen/images/misc/odnoklassniki.gif" border="0" title="Пользователь на odnoklassniki.ru" alt="Пользователь на odnoklassniki.ru"></if> <if condition="$post['field33']"><a href="$bbuserinfo[field33]" target="blank"><img src="http://vash.domen/images/misc/facebook.gif" title="Пользователь на facebook.ru" alt="Пользователь на facebook.ru"></if></div></div>
<div class="postbit-box alt1" style="padding:5px;text-align:center"><div style="margin:4px 0">$post[icqicon] $post[aimicon] $post[msnicon] $post[yahooicon] $post[skypeicon]</div></div>
Стало:
<if condition="$post['field15'] OR $post['field32'] OR $post['field33']">
<div class="postbit-box alt1" style="padding:4px;text-align:center">
<a href="$bbuserinfo[field15]" target="_blank"><img src="http://vash.domen/images/misc/vkontakte.gif" border="0" title="Пользователь на vk.com" alt="Пользователь на vk.com"></a>
<a href="$bbuserinfo[field32]" target="_blank"><img src="http://vash.domen/images/misc/odnoklassniki.gif" border="0" title="Пользователь на odnoklassniki.ru" alt="Пользователь на odnoklassniki.ru"></a>
<a href="$bbuserinfo[field33]" target="blank"><img src="http://vash.domen/images/misc/facebook.gif" title="Пользователь на facebook.ru" alt="Пользователь на facebook.ru"></a>
</div></if>
<if condition="$post['icq'] OR $post['aim'] OR $post['msn'] OR $post['yahoo'] OR $post['skype']">
<div class="postbit-box alt1" style="padding:5px;text-align:center">$post[icqicon] $post[aimicon] $post[msnicon] $post[yahooicon] $post[skypeicon]</div></if>
[MOD="Ночная странница"]НО! Именно для ссылок этот код не подходит! (подробности ниже)