Оформление постбита (под аватаркой) в виде блоков

Fly1

Пользователь
Регистрация
04.02.12
Сообщения
171
Реакции
23
Баллы
13
Я сделал оформление в мини-профиле в темке и оно отображается, даже если поле не заполнено, но уже пустым. Как сделать так, чтобы оно не отображалось, если нет информации?
 
Последнее редактирование модератором:

Ночная странница

Пользователь
Регистрация
30.01.12
Сообщения
1.751
Реакции
965
Баллы
28
Возраст
47
Я сделал оформление в мини-профиле в темке и оно отображается, даже если поле не заполнено, но уже пустым. Как сделать так, чтобы оно не отображалось, если нет информации?

Fly, можно поконкретнее? Ты сделал дополнительное поле профиля и добавил его в постбит? Каким образом добавил и какие настройки у этого самого поля?
 

Fly1

Пользователь
Регистрация
04.02.12
Сообщения
171
Реакции
23
Баллы
13
Ночная странница, <div class="postbit-box alt1" style="padding:5px;text-align:center">код разных кнопок</div>

Мне нужно, чтобы если доп. поле не заполнено - эта рамка, что находится выше не отображалась, а пряталась.
 

Ночная странница

Пользователь
Регистрация
30.01.12
Сообщения
1.751
Реакции
965
Баллы
28
Возраст
47
Fly, ну уж мы с тобой - старые знакомые, мог бы мне и права дать, чтобы поглядела, что там и как...
padding - это внутренние отступы (поля) блока, раз не помогло, значит, что-то ещё его держит... что в CSS?
 
  • Мне нравится
Реакции: Fly1

Fly1

Пользователь
Регистрация
04.02.12
Сообщения
171
Реакции
23
Баллы
13
Ночная странница, прости, совсем забыл. Конечно будет проще, чтобы ты сама посмотрела в чём там дело. Права выдал.
 

Ночная странница

Пользователь
Регистрация
30.01.12
Сообщения
1.751
Реакции
965
Баллы
28
Возраст
47
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="Ночная странница"]НО! Именно для ссылок этот код не подходит! (подробности ниже)[/MOD]
 
Последнее редактирование:

Ночная странница

Пользователь
Регистрация
30.01.12
Сообщения
1.751
Реакции
965
Баллы
28
Возраст
47
Опыт показал, что вышеприведенный код отображается верно, но не совсем рабочий. Возможно, принцип подойдет для каких-то полей без ссылок, но ссылки в нем не заработали, увы. Путем экспериментов он был исправлен на такой:

Код:
<!-- Социальные сети -->
<if condition="$show['member']">
<if condition="$post['field15']|$post['field32']|$post['field33']">
<div class="postbit-box alt1" style="padding:4px;text-align:center">
<if condition="$post['field15']"><a href="$post[field15]" target="_blank"><img src="ссылка на картинку vkontakte.gif" border="0"></a> 
</if>
<if condition="$post['field32']"><a href="$post[field32]" target="_blank"><img src="ссылка на картинку odnoklassniki.gif" border="0"></a> </if>
<if condition="$post['field33']"><a href="$post[field33]" target="_blank"><img src="ссылка на картинку facebook.gif" border="0"></a> </if>
</div>
</if>
</if>
<!-- /социальные сети -->

Теперь работают и ссылки и блоки в постбите отображаются, когда нужно. Вся соль в двойном условии - сначала идет проверка, имеются ли заполненные поля (if condition="$post['field15']|$post['field32']|$post['field33']"), а затем, если условие выполняется, начинается сам блок со ссылками, каждая из которых так же проверяется отдельным условием.
 

Статистика форума

Темы
200.631
Сообщения
380.508
Пользователи
327.849
Новый пользователь
ffors
Сверху Снизу