Показать сообщение отдельно
Старый 18.03.2011, 07:47 Вверх   #1
Местный житель
 
Аватар для eLigan
eLigan вне форума
Доп. информация
Хорошо Вывод дополнительных полей в сообщениях.

В отличии от версий 3.х.х, настройка дополнительных полей и вывод их в сообщениях пользователя, в версиях 4.1.х, отличаются.

Сразу перейду к более сложному варианту, чтобы потом было легче понять, как поступать с более легкими вариантом.

Возьмем для примера, дополнительное поле: "Пол пользователя".
Мы хотим, чтобы при каждом сообщении пользователя, в правой\левой колонки профиля, отображалось наше доп. поле в виде рисунка\картинки. Что для этого требуется:
  1. Закидываем две картинки в /вашфорум/images
  2. Заходим в админку
  3. Дополнительные поля профиля
  4. Добавить дополнительное поле профиля
  5. Меню с выбором одного
  6. Заполняем форму:
    Заголовок - Пол
    Описание - на усмотрение
    Опции - добавляем следующее:
    Нажми для просмотра
    Мужчина
    Женщина

    Тут заострю ваше внимание на том, что какие поля вы впишите, так и должны называться ваши картинки, например мужчина.gif и женщина.gif или если вы пишите в поля man и woman, то соответственно, так же надо будет назвать картинки man.gif и woman.gif. То, что вы впишите в поля, будет отображаться при выборе в профиле пользователя.

  7. Жмём сохранить, запоминаем id field (число).
  8. Заходим в опцию "Стили и шаблоны" -> "Управление стилями" -> Выбираем тот стиль, который стоит у вас по умолчанию (это в том случае, если у вас не стандартный стиль)

Тут началось самое интересное.
Хочу сразу заметить, и пояснить для не знающих, шаблон postbit - отвечает за горизонтальный вид отображения колонки профиля, postbit_legacy - за стандартный вертикальный вид.

В инструкциях к версиям 3.х.х, например тут вам гвориться, что надо зайти в один из этих (postbit или postbit_legacy) шаблонов и найти строчку вида:

Код:
<if condition="$show['reputation']"><if condition="$show['reppower']">$vbphrase[reppower]: $post[reppower] </if><div>$post[reputationdisplay]</div></if>
, затем ниже добавить
Код:
<if condition="$post[fieldX] != ''"><div>
     Пол: <img src="images/$post[fieldX].gif" title="$post[fieldX]" align="center">
    </div></if>
В версии 4.1.х , вам нужно найти запись
Код:
<vb:if condition="$post['joindate']"><div class="класс который прописывается в таблице стиля вашего шаблона"><dt>{vb:rawphrase join_date}</dt><dd>{vb:raw post.joindate}</dd></div></vb:if>
Этот код, означает, что в поле профиля, выводится дата регистрации. Так как она отображается по стандарту, то это означает, что это начало нашего блока вывода информации.
Ну собсно вот и сам код, который нужно вставить после кода указанного выше, для того, чтобы наша картинка и дополнительное поле отображались:

Код:
<vb:if condition="$post['fieldX']">
<div class="post_field"> (у вас класс таблицы стиля может быть другим)
<dt>Пол</dt>
<dd><img src="images/{vb:raw post.fieldX}.gif" align="center"</dd></div></vb:if>
где Х- это ID вашего поля.

Посмотрите внимательно отличие от кода, который втавляется в версиях 3.х.х.
Я честно, сломал мозг, чтобы понять, как должно работать условие вывода картинки
Еще, думаю, что в отличии от стиля, который у вас стоит, вам нужно будет потестировать, в нужное место ли вы вставили код или нет.

Надеюсь данная инструкция\гайд ответит на часто задаваемые вопросы, по доп. полям профиля в версиях 4.1.х.

С уважением, eLigan.

Последний раз редактировалось eLigan; 18.03.2011 в 08:15..
  Ответить с цитированием
10 пользователя(ей) сказали cпасибо:
 
Время генерации страницы 0.05734 секунды с 10 запросами