ExBB Community » Файловый ExBB » Модификации и дополнения » Дополнение : Добавляем в профиль новое выпадающее поле и выводим его.

Страниц (2): [1] 2 »
 

1. viperrr - 23 февраля 2010 — 17:44 - перейти к сообщению
У меня форум о подводной охоте, решил добавить дополнительные поля в профиль участников
Вот пример одного выпадающего поля, где можно указать свой стаж подводника:
(Вы меняйте названия переменных на те, которые вам больше подходят и делайте поля, сколько надо и какие хотите)
* Перед началом обязательно делайте резервную копию тех файлов, которые редактируете или сразу всего форума, чтоб при каких, либо сбоев вернуть работоспособность форума в нормальное состояние.

Инструкция (Отобразить)


После этой процедуры у каждого пользователя в профиле появится дополнительное поле с выпадающим списком
Как выводить это поле смотрите ниже.
2. viperrr - 23 февраля 2010 — 17:46 - перейти к сообщению
Выводим это поле на страницу "Информация о пользователе"

в файле profile.php

находим:

CODE:
$icqlogo = ($user['icq'] !== '') ? '<img src="http://online.mirabilis.com/scripts/online.dll?icq='.$user['icq'].'&img=5" align="abscenter" width="18" height="18" border="0">':'';


и после вставляем:

CODE:
include('language/'.DEF_LANG.'/lang_staz.php');
$stazpo = '';
if (isset($user['staz']))
{
foreach ($stazz as $shift1=>$s1) {
if ($shift1 == $user['staz']) { $stazpo .= ''.$s1.''; }
}
}else{
$user['staz'] = 0;
foreach ($stazz as $shift1=>$s1) {
if ($shift1 == $user['staz']) { $stazpo .= ''.$s1.''; }
}
}



Далее в templates/выш шаблон/profile_show.tpl

находим:
CODE:
<tr>
<td class="pformleft" valign="top"><b>{$fm->LANG['PM']}</b></td>
<td class="pformright"><a href="messenger.php?action=new&touser={$user['id']}" target="_blank" title="{$fm->LANG['SendPm']} {$user['name']}">{$fm->LANG['SendPm']} <b>{$user['name']}</b></a></td>
</tr>


и после вставляем:

CODE:
<tr>
<td class="pformleft" valign="top"><b>{$fm->LANG['Staz']}</b></td>
<td class="pformright">{$stazpo}&nbsp;</td>
</tr>

На этов все:
3. viperrr - 23 февраля 2010 — 17:50 - перейти к сообщению
Далее если надо вывести это поле в топике под аватарод делаем следующие:

В файйле topic.php

находим:

CODE:
$location = $users[$member_id]['location'];


после добавляем:

CODE:
$staz = $users[$member_id]['staz'];


Находим массив:
CODE:
$users[$user_id] = array('user' => $fm->LANG['Guest'],


и в незу после:

CODE:
'addpun' => ''


Добавляем:

CODE:
'staz' => ''


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


CODE:
'addpun' => '',



Далее находим:
CODE:


if ($user['www'] !== '' && $user['www'] != 'http://' && !stristr($user['www'], 'http://www.'.$fm->exbb_domain) && !stristr($user['www'], 'http://'.$fm->exbb_domain))
$user['www'] = $fm->out_redir.$user['www'];


и после ставим:

CODE:
include('language/'.DEF_LANG.'/lang_staz.php');
$stazpo = '';
if (isset($user['staz']))
{
foreach ($stazz as $shift1=>$s1) {
if ($shift1 == $user['staz']) { $stazpo .= ''.$s1.''; }
}
}else{
$user['staz'] = 0;
foreach ($stazz as $shift1=>$s1) {
if ($shift1 == $user['staz']) { $stazpo .= ''.$s1.''; }
}
}


далее находим массив:
CODE:

$users[$user_id] = array('user' => $user['name'],


и в нем находим строку:
CODE:

'location' => ($fm->exbb['location'] === TRUE && $user['location'] != '') ? '<br>'.$fm->LANG['From'].': '.$user['location']:'',


После нее ставим:
CODE:

'staz' => ''.$fm->LANG['Staz'].': <b>'.$stazpo.'</b><br> ',



Далее открываем файл post.php

Находим:

CODE:
$teamcon = $useravatar = $usergraphic = $online = $posts = $joined = $location = '';


заменяем:

CODE:



$teamcon = $useravatar = $usergraphic = $online = $posts = $joined = $location = $staz = '';


Далее открываем templates/выш шаблон/topic_data.tpl

находим:

CODE:
{$pun}


и после ставим:

CODE:
{$staz}



Идем в language/russian/lang_front_all.php

После:
CODE:
$this->LANG['ToggleOn'] = 'Развернуть';


Ставим:

CODE:
$this->LANG['Staz'] = 'Стаж';



На этом все !
4. Александр Михалицын - 24 февраля 2010 — 03:19 - перейти к сообщению
viperrr,
такие инструкции лучше писать на основе кода чистого дистрибутива, а то я даже беглым прочтением заметил, что у вас там много фрагментов кода, которых нет в оригинале:
CODE:
$user['www'] = $fm->out_redir.$user['www'];

например... Улыбка
5. ilya - 24 февраля 2010 — 09:09 - перейти к сообщению
А можно для каждого статуса разное?
Например: для админа одно, а для модера другое!
6. viperrr - 24 февраля 2010 — 10:20 - перейти к сообщению
если совсем народу не понятно как добавлять, то можно переделать.
строку эту я подправил, думаю так понятней !
7. Pauk - 18 декабря 2010 — 03:35 - перейти к сообщению
CODE:
if ($user['www'] !== '' && $user['www'] != 'http://' && !stristr($user['www'], 'http://www.'.$fm->exbb_domain) && !stristr($user['www'], 'http://'.$fm->exbb_domain))
$user['www'] = $fm->out_redir.$user['www'];

не нашел этих строк
8. Pauk - 8 января 2011 — 01:29 - перейти к сообщению
коллеги, помогите пожалуйста с кодом в посте выше... такого куска нет, а вставить куда то надо )))
9. truban - 2 августа 2011 — 14:52 - перейти к сообщению
CODE:
if ($user['www'] !== '' && $user['www'] != 'http://' && !stristr($user['www'], 'http://www.'.$fm->exbb_domain) && !stristr($user['www'], 'http://'.$fm->exbb_domain))
$user['www'] = $fm->out_redir.$user['www'];

не находит эту строчку
10. BON - 2 августа 2011 — 15:43 - перейти к сообщению
truban, строка эта есть. ищи по кусочку. примерно по такому:
CODE:
if ($user['www']
11. truban - 4 августа 2011 — 09:44 - перейти к сообщению
BON пишет:
$user['www']

Единственное что нашло в topic.php
CODE:
'www' => ($user['www'] !== '') ? '<a href="'.$user['www'].'" target="_blank">'.$_icon['www'].'</a>'.$_icon['divider']:'',
12. BON - 4 августа 2011 — 12:51 - перейти к сообщению
хм, а у меня есть такие строки. выкладывайте свой топик пхп
13. truban - 4 августа 2011 — 15:59 - перейти к сообщению
BON пишет:
хм, а у меня есть такие строки. выкладывайте свой топик пхп

Прикрепил файл
14. BON - 4 августа 2011 — 16:13 - перейти к сообщению
truban, короче вот эти строки не ищите!
CODE:
if ($user['www'] !== '' && $user['www'] != 'http://' && !stristr($user['www'], 'http://www.'.$fm->exbb_domain) && !stristr($user['www'], 'http://'.$fm->exbb_domain))
$user['www'] = $fm->out_redir.$user['www'];

у вас их нет, т.к. не установлен мод
Переход по внешним ссылкам через редирект
вы ищитестроку
CODE:
$user = $fm->_Getmember($user_id);

и пробуйте вставлять после неё
15. truban - 5 августа 2011 — 10:43 - перейти к сообщению
BON пишет:
вы ищитестроку
CODE:
$user = $fm->_Getmember($user_id);

и пробуйте вставлять после неё


Cпасибо , все заработало.

Яндекс.Метрика   

Powered by ExBB
[Script Execution time: 0.0483]     [ ]