Информация от спонсоров

 

Полезная информация


----

Начать новую тему Ответить на тему
АвторСообщение

 Сообщение Свои доп.поля в профиле phpbb 
#1 

Аватар пользователя

Всем доброго времени суток, хотелось бы сегодня поделиться еще маленькой частью своего опыта в phpbb. Конкретней, излить пару мыслей по поводу дополнительных полей в профиле и методе их украшательства.

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

Форма добавления дополнительных полей находится в Админка - Пользователи и группы - Дополнительные поля.
Не забудьте так же включить отображение для них в Админка - Общие - Нагрузка на сервер - Дополнительные поля


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

Вообщем то, единственным минусом стандартного вывода дополнительных полей является их однообразность, они выводятся в одном и том же месте, в мини-профилях, профилях, настройках профиля. Если полей несколько - они идут друг за другом. А что делать если хочется какое либо поле приукрасить или перенести выше(ниже) в профиле, поставить в другое место ???

Оказывается есть решение, притом достаточно простое. Но требующее определенных жертв. Основной жертвой будет вырезание стандартного вывода полей, а полезностью будет размещение полей в любом месте профиля, независимое притом размещение. Готовы к такому шагу ??? Я покажу лишь на одном примере, но этого будет достаточно.

Приглядитесь к моему мини-профилю, в область ника. Что там видите ??? Правильно, под ником отображается мое имя. Как я сделал ??? С помощью дополнительных полей. Вообщем приступаем, вырезаем для начала стандартный вывод полей, открываем шаблон /styles/ваш стиль/template/viewtopic_body.html и вырезаем следущий код.
Для стилей на основе просильвера
      <!-- IF postrow.S_PROFILE_FIELD1 -->
         <!-- Use a construct like this to include admin defined profile fields. Replace FIELD1 with the name of your field. -->
         <dd><strong>{postrow.PROFILE_FIELD1_NAME}:</strong> {postrow.PROFILE_FIELD1_VALUE}</dd>
      <!-- ENDIF -->

      <!-- BEGIN custom_fields -->
         <dd><strong>{postrow.custom_fields.PROFILE_FIELD_NAME}:</strong> {postrow.custom_fields.PROFILE_FIELD_VALUE}</dd>
      <!-- END custom_fields -->
 

Для стилей на основе сабсильвер2
<!-- IF postrow.S_PROFILE_FIELD1 -->
                  <!-- Use a construct like this to include admin defined profile fields. Replace FIELD1 with the name of your field. -->
                  <br /><b>{postrow.PROFILE_FIELD1_NAME}:</b> {postrow.PROFILE_FIELD1_VALUE}
               <!-- ENDIF -->

               <!-- BEGIN custom_fields -->
                  <br /><b>{postrow.custom_fields.PROFILE_FIELD_NAME}:</b> {postrow.custom_fields.PROFILE_FIELD_VALUE}
               <!-- END custom_fields -->
 

После этого идем в шаблон /styles/ваш стиль/template/ucp_profile_profile_info.html и удаляем следущее.
Для стилей на основе просильвер
<!-- BEGIN profile_fields -->
      <dl>
         <dt><label<!-- IF profile_fields.FIELD_ID --> for="{profile_fields.FIELD_ID}"<!-- ENDIF -->>{profile_fields.LANG_NAME}:<!-- IF profile_fields.S_REQUIRED --> *<!-- ENDIF --></label>
         <!-- IF profile_fields.LANG_EXPLAIN --><br /><span>{profile_fields.LANG_EXPLAIN}</span><!-- ENDIF --></dt>
         <!-- IF profile_fields.ERROR --><dd class="error">{profile_fields.ERROR}</dd><!-- ENDIF -->
         <dd>{profile_fields.FIELD}</dd>
      </dl>
   <!-- END profile_fields -->
 

Для стилей на основе сабсильвер2
<!-- BEGIN profile_fields -->
   <tr>
      <td class="row1" width="35%">
         <b class="genmed">{profile_fields.LANG_NAME}: </b>
         <!-- IF profile_fields.S_REQUIRED --><b>*</b><!-- ENDIF -->
         <!-- IF profile_fields.LANG_EXPLAIN --><br /><span class="gensmall">{profile_fields.LANG_EXPLAIN}</span><!-- ENDIF -->
      </td>
      <td class="row2">{profile_fields.FIELD}<!-- IF profile_fields.ERROR --><br /><span class="gensmall error">{profile_fields.ERROR}</span><!-- ENDIF --></td>
   </tr>
<!-- END profile_fields -->
 

После этого открываем файл includes/functions_profile_fields.php и находим
$template->assign_block_vars('profile_fields', array(
 

Вставляем после найденного
'IDENT'=> $row['field_ident'], 
 

Все, подготовка закончена. Теперь мат.часть :-0=)
Для начала нам надо создать само поле в админке, идем, создаем. Отмечаем флажки - отображать на страницах тем и в центре пользователя
Внимание !!! Имя поля должно быть написано английскими маленькими буквами !!! Иначе ничего не выйдет

Запоминаем имя, в моем случае это было namme. Теперь нам надо добавить код поля на страницу просмотра тем, открываем шаблон viewtopic_body.html и в области между условиями <!-- BEGIN postrow --> и <!-- END postrow --> (код между этими условиями отвечает за отображение одного сообщения) вставляем следущее
<!-- IF postrow.S_PROFILE_NAMME -->
         {postrow.PROFILE_NAMME_VALUE}
      <!-- ENDIF -->
 

В данном коде мы прописали имя нашего поля заглавными буквами
Цитата:
<!-- IF postrow.S_PROFILE_NAMME -->
{postrow.PROFILE_NAMME_VALUE}
<!-- ENDIF -->

Помните, что данный код можно оформить как угодно, допустим написать какой нибудь текст
<!-- IF postrow.S_PROFILE_NAMME -->
         Меня зовут {postrow.PROFILE_NAMME_VALUE}
      <!-- ENDIF -->
 

Или добавить какой нибудь элемент
<!-- IF postrow.S_PROFILE_NAMME -->
         <img src="адрес картинки" alt="" /> {postrow.PROFILE_NAMME_VALUE}
      <!-- ENDIF -->
 

Вот почему я требую от вас минимальных знаний в HTML и добавлять элементы надо строго внутри условия
<!-- IF postrow.S_PROFILE_NAMME -->
         тут код нашего поля
      <!-- ENDIF -->
 

Далее нам надо сделать так, чтобы данное поле могли пользователи настроить в Центре Пользователя, идем в шаблон ucp_profile_profile_info.html и добавляем туда, в более подходящее для вас место
<!-- IF  profile_fields.IDENT eq 'namme' -->
            <!-- IF profile_fields.S_REQUIRED --><b>*</b><!-- ENDIF -->
            <!-- IF profile_fields.LANG_EXPLAIN --><br /><span>{profile_fields.LANG_EXPLAIN}</span><!-- ENDIF -->
         {profile_fields.FIELD}<!-- IF profile_fields.ERROR --><br /><span>{profile_fields.ERROR}</span><!-- ENDIF --><!-- ENDIF -->
 

В строке
<!-- IF  profile_fields.IDENT eq 'namme' -->
 

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


Вот таким образом и я сделал себе дополнительное поле для ввода имени, вопросы у вас в любом случае будут, задавайте :bra_vo:


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!

Теги темы
Свои доп.поля в профиле phpbb
          Вернуться наверх  
 

#2 

Аватар пользователя

И эта тема в закладки не добавляется


_________________
Подпись:
Зри в корень
          Вернуться наверх  
 

#3 

Аватар пользователя

Да ЧОРД блин, логи чистые(( Наверное надо закладки отрубать к чертям


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 

#4 

Аватар пользователя

Андрюх, через оперу сидишь ??? Выкинь ее тогда нах, у меня в опере не помещается в закладки, а через Хром - помещается, уффф какая же опера гавняшка стала(((


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 

#5 

Аватар пользователя

Нет, через Хром))


_________________
Подпись:
Зри в корень
          Вернуться наверх  
 

#6 

Аватар пользователя

Значит просто лаг, у меня наоборот ситуация))


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 

#7 

Аватар пользователя

Сергей, привет.
Подскажи, возможно-ли через доп. поля в профиле сделать кнопку Skype? И как это сделать грамотно.
Есть вот такой
Пожалуйста Зарегистрируйтесь чтобы увидеть ссылку
, но я прочитал где-то на твоем форуме, что он грузит страницу, проверяя постоянно статус присутствия.
Это нам не нужно. Достаточно просто доп. надпись, или иконка в профиле, нажав на которую можно увидеть (самое простое) ник пользователя в скайпе, или (наверное сложное) форму, с помощью которой можно сразу выполнить запрос пользователю для добавления в контакты скайпа. Статус присутствия не нужен. А может посоветуешь какое нибудь другое решение.
Спасибо.
Сергей, в ЛС писал тебе о проблеме в моде медалей (не было возможности номинировать). Вроде нашли причину, проверяя файл за файлом мода. Оказалось, что в styles/prosilver/template/viewtopic_body.html изчез вот этот кусок:
      <!-- BEGIN medal -->
      <!-- IF postrow.medal.S_HAS_MEDALS or postrow.medal.S_HAS_NOMINATIONS --><dd><strong>{L_MEDALS}:</strong> {postrow.medal.MEDALS_COUNT}{postrow.medal.MEDALS_NOMINATED}</dd><!-- ENDIF -->
         <!-- BEGIN medal_row -->
         <dd>
            <!-- BEGIN medal_col -->
               <img src="{postrow.medal.medal_row.medal_col.MEDAL_IMAGE}" border="0" alt="{postrow.medal.medal_row.medal_col.MEDAL_NAME} {postrow.medal.medal_row.medal_col.MEDAL_COUNT}" title="{postrow.medal.medal_row.medal_col.MEDAL_NAME} {postrow.medal.medal_row.medal_col.MEDAL_COUNT}" {postrow.medal.medal_row.medal_col.MEDAL_WIDTH} {postrow.medal.medal_row.medal_col.MEDAL_HEIGHT} />
            <!-- END medal_col -->
         </dd>
         <!-- END medal_row -->
      <!-- END medal -->
 

После каких наших манипуляций он исчез, возможно только одному автомоду известно :-0=), но сейчас вроде все работает. Осталась проблема со стилями, но по ней если что, свяжемся. Еще раз спасибо тебе за кучу полезной инфы :co_ol:


_________________
Подпись:
нуевонафигэтотавтомод
          Вернуться наверх  
 

#8 

Аватар пользователя

dqdmitry, ставьте мод скайпа, но пропустите некоторые правки для viewtopic.php и viewtopic_body.html, лично я усебя их вырезал, оставив весь функционал только в просмотре профиля))


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 

#9 

Аватар пользователя

DeaDRoMeO писал(а):

dqdmitry, ставьте мод скайпа, но пропустите некоторые правки для viewtopic.php и viewtopic_body.html, лично я усебя их вырезал, оставив весь функционал только в просмотре профиля))

Сергей, уточни пожалуйста. Во viewtopic.php и viewtopic_body.html, изменения вообще не делать, или делать только некоторые (какие?)?.
Ссори, если вопрос глупый.


_________________
Подпись:
нуевонафигэтотавтомод
          Вернуться наверх  
 


Аватар пользователя

Дайй ссылку на скачку мода, а то посеял ее))


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

DeaDRoMeO писал(а):

Дайй ссылку на скачку мода, а то посеял ее))

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


_________________
Подпись:
нуевонафигэтотавтомод
          Вернуться наверх  
 


Аватар пользователя

Вообщем пропускаем правки для styles/prosilver/template/overall_header.html, styles/prosilver/template/viewtopic_body.html и viewtopic.php, не нужен он в мини-профиле, все опции будут только при просмотре полного профиля пользователя


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

DeaDRoMeO писал(а):

...не нужен он в мини-профиле, все опции будут только при просмотре полного профиля

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


_________________
Подпись:
нуевонафигэтотавтомод
          Вернуться наверх  
 


Аватар пользователя

К сожалению так не получится, там не разделить вставляемый код


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


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

если не ошибаюсь, то инфу о доп.полях нельзя в phpbb вывести в общий список пользователей. на phpbbex решение разработчик нашел,за что ему спс. думаю что применимо и к phpbb будет


          Вернуться наверх  
 


Аватар пользователя

girl писал(а):

то инфу о доп.полях нельзя в phpbb вывести в общий список пользователей

Так то нет, если поковырять код - то вроде не сложно сделать


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

SENSEY - DeaDRoMeO !
Поле...Свежее поОоле...!
Светит луна...но найти не могу...
Правки все сделал...Кеши очистил...
Но увы, не нашел... не нашел, ни Гу...Гу...))
С безграничным уважением :uch_tiv:


_________________
Подпись:
Как узнать, что ты на верном пути? Проще простого: если рядом с тобой не осталось никого, значит, ты действительно близок к сути. © Эмиль Мишель Чо́ран
          Вернуться наверх  
 


Аватар пользователя

<!-- IF profile_fields.IDENT eq 'namme' -->
<!-- IF profile_fields.S_REQUIRED --><b>*</b><!-- ENDIF -->
<!-- IF profile_fields.LANG_EXPLAIN --><br />{profile_fields.LANG_EXPLAIN}</span><!-- ENDIF -->
{profile_fields.FIELD}<!-- IF profile_fields.ERROR --><br />{profile_fields.ERROR}</span><!-- ENDIF --><!-- ENDIF -->
---------------------------------------------------------------------------------------
SENSEY - DeaDRoMeO !
Извиняюсь за не красиво поданный материал, но BB-коды в редакторе этой именно темы - отказали.
------------------------------------------------------------------------------
Итак, этот код, куда бы я его не вставил в файле - ucp_profile_profile_info.html
Не желает работать.
Я заметил, что работая с правками этого файла в редакторе Дримвьювера - этот код -становится мертвым. Т.е. если все строки кода в этом файле живенько смотрятся отливая и синим и красным цветом, то этот код полностью черно-белый - угасший какой-то. Такое обычно бывает, когда код не валидный.
С безграничным уважением :uch_tiv:


_________________
Подпись:
Как узнать, что ты на верном пути? Проще простого: если рядом с тобой не осталось никого, значит, ты действительно близок к сути. © Эмиль Мишель Чо́ран

Информация о редактировании
Последний раз редактировалось Beksssss 26 фев 2013, 07:48, всего редактировалось 2 раз(а).
          Вернуться наверх  
 


Аватар пользователя

Beksssss писал(а):

Я заметил, что работая с правками этого файла в редакторе Дримвьювера

Так редактируйте в нотепаде++, дрим бывает жует теги или автоматом закрывает в не нужных местах


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

DeaDRoMeO писал(а):

Так редактируйте в нотепаде , дрим бывает жует теги или автоматом закрывает в не нужных местах


SENSEY - DeaDRoMeO !
Такое ощущение, что здесь явная ошибка!
Этот код очень не органично вписывается в код страницы.
Редактировал и в нотепаде - не помогло!
Пробовал код станицы отредактированной в нотепаде посмотреть через дримвивер - но там он тухнет сразу - говоря, о том, что код не валидный.
С безграничным уважением :uch_tiv:


_________________
Подпись:
Как узнать, что ты на верном пути? Проще простого: если рядом с тобой не осталось никого, значит, ты действительно близок к сути. © Эмиль Мишель Чо́ран

Информация о редактировании
Последний раз редактировалось Beksssss 27 фев 2013, 07:35, всего редактировалось 1 раз.
          Вернуться наверх  
 
 
Начать новую тему Ответить на тему


Дополнительные возможности

  Похожие темы  Автор  Ответов  Просмотров  Последнее сообщение 
Аватар пользователя Новые поля в профиле
Новые поля в профиле, которые просили некоторые пользователи-администраторы своих ресурсов

DeaDRoMeO

15

1327

Аватар пользователя

09 ноя 2012, 21:58

DeaDRoMeO

Аватар пользователя Восстановление дополнительного поля в профиле

fialkina

6

455

Аватар пользователя

17 дек 2012, 12:57

akella1900

Аватар пользователя Запрет на самостоятельное заполнение поля "Сайт" в профиле

ursego

8

466

Аватар пользователя

26 окт 2014, 09:52

Tatyana_S

Аватар пользователя Свои страницы ошибок (400, 401, 403, 404, 500) для phpbb3
Анонсирую мини-мод для создания страниц ошибок сервера в стиле форума

DeaDRoMeO

28

4554

Аватар пользователя

20 май 2016, 05:18

DeaDRoMeO

Аватар пользователя Создаем свои страницы в стиле форума phpbb3
Статейка о создании страниц в стиле вашего форума

DeaDRoMeO

27

3284

Аватар пользователя

09 дек 2015, 05:28

DeaDRoMeO

Оставить свой комментарий

Поделиться темой с помощью

Ссылки на тему

Прямая ссылка:
BB-код для форумов, сайтов, блогов:
HTML ссылка:
 


cron

Самая неформальная поддержка phpBB :P