Вывод дополнительной информации под аватаром.

Автор digger®, 19 июля 2007, 01:57:45

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Serifa

у двоих-троих точно есть, один из них - это я. Есть у меня еще одна версия, сегодня проверю.
«- Помощник капитана Бакстер, - заявил Лумис, - безбожно врет. Все отнюдь не под контролем, вернее, не под его контролем. Корабль захвачен представителями небелковой формы разумной жизни, которые маскируются под обслуживающих роботов, а некоторые даже не делают и этого...»
«То, что у тебя есть, лечится антибиотиками» (nowhere man, 1995)
В телеге срочно нужны читатели!

Jerry

Цитата: Mavn от 30 сентября 2007, 14:44:09
Цитата: Gover от 16 сентября 2007, 20:26:54
Подскажите как дату рождения привести из вида Дата рождения: 1980-09-15 в вид Дата рождения: 15.05.1980?
Технически сделать это можно. Переписать часть запросов и переписать структуру бд где прописывается дата в общем то ничего сложного.
Структура БД с этим не связана, там unix-формат времени. Нужно менять преобразование unix'овского времени в обычный.

vurdalack

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


Serebron

Подскажите можно сделать так: в базе данных в таблицу smf_members добавить свое поле и значение этого поля выводить под аватаром?

Lysyj

по идее можно.
Есть мод Custom Profile он добавляет поля в профиль.

Serifa

Да этот мод вообще чего только не делает!) Я хотела без него обойтись (на втором форуме), но вы каждый раз так расхваливаете этот мод, что придется ставить и на второй форум!

Надо бы на этом сайте сделать типа рейтинг самых-самых модов...
«- Помощник капитана Бакстер, - заявил Лумис, - безбожно врет. Все отнюдь не под контролем, вернее, не под его контролем. Корабль захвачен представителями небелковой формы разумной жизни, которые маскируются под обслуживающих роботов, а некоторые даже не делают и этого...»
«То, что у тебя есть, лечится антибиотиками» (nowhere man, 1995)
В телеге срочно нужны читатели!


Serifa

А давайте заведем тему отдельно про эти три мода, чтобы не разыскивать по форуму, а собирать все в одном месте. У меня вопросы есть по Custom BBCode и Custom Actions, например.
«- Помощник капитана Бакстер, - заявил Лумис, - безбожно врет. Все отнюдь не под контролем, вернее, не под его контролем. Корабль захвачен представителями небелковой формы разумной жизни, которые маскируются под обслуживающих роботов, а некоторые даже не делают и этого...»
«То, что у тебя есть, лечится антибиотиками» (nowhere man, 1995)
В телеге срочно нужны читатели!

йфяцыч

У меня кодировка утф-8... Вставил номер пользователя и дату регистрации... Вместо русских букв кракозябры выскакивают  :(
Как быть?
Форум о купонах, скидках.
Самая идеальная сборка форума SMF, по мнению моей тещи.

digger®

Цитата: йфяцыч от 15 июля 2008, 00:12:39
У меня кодировка утф-8... Вставил номер пользователя и дату регистрации... Вместо русских букв кракозябры выскакивают  :(
Как быть?
Номер и дата это цифры, откуда там русские буквы.

Serebron

если ты вставлял код в блокноте, то он по умолчанию изменяет кодировку при сохранении. При изменении кода в блокноте у меня изменился внешний вид (буквы стали болше и т.п., мелоч а не приятно). Редактирую код в Dreamweaver, при этом указав нужную кодировку в свойствах страницы.

йфяцыч

Цитата: digger от 15 июля 2008, 00:37:43
Номер и дата это цифры, откуда там русские буквы.

Фразы перед цифрами и датами: "Номер пользователя:" и "Дата регистрации:"

Serebron
О! Спасибо.  )) Все получилось )) До этого правил именно в блокноте.
Форум о купонах, скидках.
Самая идеальная сборка форума SMF, по мнению моей тещи.

Magnit

Цитата: digger от 19 июля 2007, 01:57:45
//Выводит слово "Забанен", если пользователь забанен
echo $message['member']['is_banned'] ? 'Забанен'.'<br />' : '';
Это работает? У меня не пошло. Распечатывали весь массив $messages['members']
['is_banned'] не определена. Не то что тру, или фальш, а ВООБЩЕ НЕ ОПРЕДЕЛЕНА
: : Oчарована digger'ом : :

Galina_

Надеюсь, что данная тема еще актуальная для письма.Если есть по ней вопросы)))
Подскажите, КАК Можно чтобы выводился возраст с указанием месяцев . Например: 1год 3 мес.

CloveR

Цитата: digger от 19 июля 2007, 01:57:45
     
//Выводит "Возраст: xx", если известен или "Именинник: xx", если у пользователя день рождения
list ($birth_year, $birth_month, $birth_day) = sscanf($message['member']['birth_date'], '%d-%d-%d');
$datearray = getdate(forum_time());
$message['member']['age'] = $birth_year <= 4 ? '' : $datearray['year'] - $birth_year - (($datearray['mon'] > $birth_month || ($datearray['mon'] == $birth_month && $datearray['mday'] >= $birth_day)) ? 0 : 1);
$message['member']['today_is_birthday'] = $datearray['mon'] == $birth_month && $datearray['mday'] == $birth_day;
echo $message['member']['age'] ? ($message['member']['today_is_birthday'] ? 'Именинник: ' : 'Возраст: ').$message['member']['age'].'<br />' : '';   
     

Простите, многоуважаемые, а можно сделать как-ть, чтобы сообщение "именинник" висело до дня рождения за, к примеру, 7 дней wallbash

Nes Cry

добрый день ! подскажите как можно сделать что бы номер аськи отображался цифрами а не иконкой онлайн\офлайн как наподобие дополнительной графы даты регистрации или номера пользователя.

BIOHAZARD

поправить файл display.template.php
искать $message['member']['icq']['link'], дальше изменять по своему вкусу
Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

Baka

Хочу сделать как в этой теме, чтобы кубик онлайн/офлайн был перед ником.. но никак не хоят они быть у меня в одной строчке.

Подскажите как написать?

Drakonsa


inf

у Вас 12 сообщений, 0 новых.
Показать новые сообщения с Вашего последнего визита.
Показать новые ответы на Ваши сообщения.
___________________________ < как сюда вставить , время онлайна пользователя

inf

Вставлять, в index.template
После прочитанных(непрочитанны) сообщений
// Now, onto our second set of info, are they logged in again?
if ($context['user']['is_logged'])
{
// Is the forum in maintenance mode?
if ($context['in_maintenance'] && $context['user']['is_admin'])
echo '
<b>', $txt[616], '</b><br />';

// Are there any members waiting for approval?
if (!empty($context['unapproved_members']))
echo '
', $context['unapproved_members'] == 1 ? $txt['approve_thereis'] : $txt['approve_thereare'], ' <a href="', $scripturl, '?action=viewmembers;sa=browse;type=approve">', $context['unapproved_members'] == 1 ? $txt['approve_member'] : $context['unapproved_members'] . ' ' . $txt['approve_members'], '</a> ', $txt['approve_members_waiting'], '<br />';

// Show the total time logged in?
if (!empty($context['user']['total_time_logged_in']))
{
echo '
', $txt['totalTimeLogged1'], '<br />';

// If days is just zero, don't bother to show it.
if ($context['user']['total_time_logged_in']['days'] > 0)
echo $context['user']['total_time_logged_in']['days'] . $txt['totalTimeLogged2'];

// Same with hours - only show it if it's above zero.
if ($context['user']['total_time_logged_in']['hours'] > 0)
echo $context['user']['total_time_logged_in']['hours'] . $txt['totalTimeLogged3'];

// But, let's always show minutes - Time wasted here: 0 minutes ;).
echo $context['user']['total_time_logged_in']['minutes'], $txt['totalTimeLogged4'], '<br />';
}
}




mcera

попутно, на форуме все прекрасно работает, а в личной почте профиль отображает по старому, у лички отдельный display.template.php?

Mavn

в личке не используется Display.template.php. если не ошибаюсь то править здесь нужно PersonalMessage.template.php
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

mcera


AleksHr

Есть проблемка. Хочу сделать мультиязычно.

Работает:
//Выводит местоположение, если указано в профиле
echo $message['member']['location'] ? 'Откуда вы: '. $message['member']['location'].'<br />' : '';


Не работает:
//Выводит местоположение, если указано в профиле
echo $message['member']['location'] ? '', $txt[1113], ': '. $message['member']['location'].'<br />' : '';


Почему не работает второй вариант? Вроде все же правильно... ошибка темплейта...

BIOHAZARD

Цитата: AleksHr от 10 июня 2010, 19:02:50
Не работает:
//Выводит местоположение, если указано в профиле
echo $message['member']['location'] ? '', $txt[1113], ': '. $message['member']['location'].'<br />' : '';

//Выводит местоположение, если указано в профиле
echo $message['member']['location'] ? $txt[1113] . ': ' . $message['member']['location'] . '<br />' : '';
Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

AleksHr

#77
Спасибо большое!! Все работает )

А можете еще помочь?  :)

То что закоментировано нужно вставить в ето место, но так оно не работает, как модернизировать закоментированый текст чтобы он работал в етом месте?

Цитировать$localTime = '';
        if(!empty($modSettings['timezones_enable']))
                $localTime = local_userTime($user);
        else
                $localTime = timeformat(time() + ($profile['timeOffset'] - $user_info['time_offset']) * 3600, false);
//              'thank_you_post' => array(
//                      'made' => &$profile['thank_you_post_made'],
//                      'became' => &$profile['thank_you_post_became'],
//              ),

        // What a monstrous array...
        $memberContext[$user] = array(
                'username' => &$profile['memberName'],
                'name' => &$profile['realName'],
                'id' => &$profile['ID_MEMBER'],
                'is_guest' => $profile['ID_MEMBER'] == 0,
                'is_buddy' => $profile['buddy'],
                'is_reverse_buddy' => in_array($ID_MEMBER, $buddy_list),
                'buddies' => $buddy_list,
                'title' => !empty($modSettings['titlesEnable']) ? $profile['usertitle'] : '',
                'href' => $scripturl . '?action=profile;u=' . $profile['ID_MEMBER'],
                'link' => '<a href="' . $scripturl . '?action=profile;u=' . $profile['ID_MEMBER'] . '" title="' . $txt[92] . ' ' . $profile['realName'] . '">
                'email' => &$profile['emailAddress'],
                'hide_email' => $profile['emailAddress'] == '' || (!empty($modSettings['guest_hideContacts']) && $user_info['is_guest']) || (!empty($profile[
                'email_public' => (empty($profile['hideEmail']) || empty($modSettings['allow_hideEmail'])) && (empty($modSettings['guest_hideContacts']) || !
                'registered' => empty($profile['dateRegistered']) ? $txt[470] : timeformat($profile['dateRegistered']),
                'registered_timestamp' => empty($profile['dateRegistered']) ? 0 : forum_time(true, $profile['dateRegistered']),
                'blurb' => &$profile['personalText'],
                'gender' => array(
                        'name' => $gendertxt,
                        'image' => !empty($profile['gender']) ? '<img src="' . $settings['images_url'] . '/' . ($profile['gender'] == 1 ? 'Male' : 'Female')

AleksHr


digger®

Цитата: AleksHr от 10 июня 2010, 21:22:04
То что закоментировано нужно вставить в ето место, но так оно не работает, как модернизировать закоментированый текст чтобы он работал в етом месте?

А что подразумевается под "работал" ?
Можно, например, поменять
'thank_you_post' =>
на
$thank_you_post =

Vanok

Не подскажите, каким образом использовать конструкцию с отображением картинки, в случае если человек забанен. Небольшое уточнение, у меня та, что здесь представлена, не работает. Ошибки никакой не появляется, но и эффекта нет. Может быть для RC3 какие-то свои особенности появились? Попробовал ради интереса вставить другую конструкцию (дата регистрации или что-то вроде того) - нужный текст появился, а с забаненными никак.

Кроме того, я так понимаю, что все представленные здесь поля завязаны на "Any custom fields to show as icons". И если у пользователя не задействованы custom fields, то он и вовсе не увидит вывод данной информации, даже если он есть. А можно ли написать отдельную конструкцию с задействованным параметром if чтобы уж гарантировано писалось если человек забанен. Пробовал, кстати стырить конструкцию из profile template, но почему-то не вышло. Проверял на сообщении от гарантированно забанненого человека.

Спрашиваю по той причине, что давно уже хочу поставить такую фичу, но все никак не найду грамотной ее реализации.

AleksHr

Код мода (необходимых изменений):
<search for>
'local_time' => timeformat(time() + ($profile['timeOffset'] - $user_info['time_offset']) * 3600, false),
</search for>

<add after>
'thank_you_post' => array(
'made' => &$profile['thank_you_post_made'],
'became' => &$profile['thank_you_post_became'],
),
</add after>


Код Load.php без модуля коректировки времени:
                'is_guest' => false,
                'group' => $profile['member_group'],
                'group_color' => $profile['member_group_color'],
                'group_id' => $profile['ID_GROUP'],
                'post_group' => $profile['post_group'],
                'post_group_color' => $profile['post_group_color'],
                'group_stars' => str_repeat('<img src="' . str_replace('$language', $context['user']['language'], isset($profile['stars'][1]) ? $settings['ima
              'local_time' => timeformat(time() + ($profile['timeOffset'] - $user_info['time_offset']) * 3600, false),
        );

        return true;
}


Файл который есть сейчас и в который нужно вписать изменения:
                $avatar_width = !empty($modSettings['avatar_max_width_external']) ? ' width="' . $modSettings['avatar_max_width_external'] . '"' : '';
                $avatar_height = !empty($modSettings['avatar_max_height_external']) ? ' height="' . $modSettings['avatar_max_height_external'] . '"' : '';
        }
        else
        {
                $avatar_width = '';
                $avatar_height = '';
        }

        $localTime = '';
        if(!empty($modSettings['timezones_enable']))
                $localTime = local_userTime($user);
        else

                $localTime = timeformat(time() + ($profile['timeOffset'] - $user_info['time_offset']) * 3600, false);

        // What a monstrous array...
        $memberContext[$user] = array(
                'username' => &$profile['memberName'],


В каком виде вставить код модуля и куди в даном случае? Пробывал через $ - как писали выше - в даном примере ошыбка синтаксиса или еще что то там...


AleksHr

Цитата: digger от 12 июня 2010, 02:43:59
По-моему, у вас код модуля не для той версии форума в которую пытаетесь вставить.

Именно для той, просто модуль часового пояса переписал часть кода в Load.php и я вот думаю куда вставить кусок кода... только ета часть не подошла - все остальное работает.

И еще хотел спролсить, за что отвечает файл Load.php? Я так понимаю в нем всякие переменный или что нить такое обявляется?

TXT

#84
digger, мне в показе возраста/именинника нужно было только в нужный день именинник, и без указания лет. Всё нормально отображается, но корректно ли я изменил код, или можно было ещё что-то лишнее убрать?
Спасибо!

Было:list ($birth_year, $birth_month, $birth_day) = sscanf($message['member']['birth_date'], '%d-%d-%d');
$datearray = getdate(forum_time());
$message['member']['age'] = $birth_year <= 4 ? '' : $datearray['year'] - $birth_year - (($datearray['mon'] > $birth_month || ($datearray['mon'] == $birth_month && $datearray['mday'] >= $birth_day)) ? 0 : 1);
$message['member']['today_is_birthday'] = $datearray['mon'] == $birth_month && $datearray['mday'] == $birth_day;
echo $message['member']['age'] ? ($message['member']['today_is_birthday'] ? 'Именинник: ' : 'Возраст: ').$message['member']['age'].'<br />' : '';


Стало:list ($birth_year, $birth_month, $birth_day) = sscanf($message['member']['birth_date'], '%d-%d-%d');
$datearray = getdate(forum_time());
$message['member']['today_is_birthday'] = $datearray['mon'] == $birth_month && $datearray['mday'] == $birth_day;
echo $message['member']['today_is_birthday'] ? '<font color=#FF0000><b>ИМЕНИННИК</b></font><br />' : '';


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

Marius

Ребята, подскажите код чтобы в профиле при просмотре темы был бы виден пол(картинкой) как на этом форуме.

Mavn

в настройках текущей темы оформления смотри
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Marius


maks47

А можно сделать сворачивание информации под аватаром.
[hide]
Цитировать
Сообщений: 1 076
Карма: +136/-18
[прибавить] [отнять]
Пол: Мужской
    ICQ клиент -
    Просмотр профиля
    Личное сообщение (Оффлайн)
[/hide]

svetlika

Возраст показывает, как "не указан". Версия PHP 5
Тестовый форум на хостинге jino-net.

Может быть стоит проверить эти изменения кому-либо еще...

Vitaland

#90
Приветствую.
С выводом информации стандартных полей профиля более-менее всё понятно. Методом тыка разобрался. Они все имеют свои ID: location - местоположение, birth_date - дата рождения и т.д. А как выводить инфу с дополнительно созданного в профиле текстового поля? Какая переменная отвечает за вывод этой информации?

Vitaland


dron

Цитата: digger® от 19 июля 2007, 01:57:45
Как быстро добавить вывод дополнительной информации под аватарами пользователей в сообщениях.

Ищем в файле /Themes/default/Dispay.template.php (в принципе должно работать в любой теме оформления) строку
// This shows the popular messaging icons.'
и добавляем перед ней строки с выводом чего-нибудь полезного.
Варианты полезных вещей:

//Выводит номер пользователя
echo 'Номер: '. $message['member']['id'].'<br />';
   

//Выводит дату регистрации
echo 'Зарегистрирован: '. date('Y-m-d',$message['member']['registered_timestamp']).'<br />';


//Выводит местоположение, если указано в профиле
echo $message['member']['location'] ? 'Местоположение: '. $message['member']['location'].'<br />' : '';


//Выводит слово "Забанен", если пользователь забанен
echo $message['member']['is_banned'] ? 'Забанен'.'<br />' : '';

     
// Выводит дату рождения, если указана в профиле     
echo intval($message['member']['birth_date']) ? 'Дата рождения: '. $message['member']['birth_date'].'<br />' : '';


// Выводит картинку с флажком языка выбранного пользователем.
if ($message['member']['lang'] == '') echo '<img src="путь_к_картинке_1" /><br />';
elseif ($message['member']['lang'] == 'english') echo '<img src="путь_к_картинке_2" /><br />';
elseif ($message['member']['lang'] == 'еще_какой-то_язык') echo '<img src="путь_к_картинке_3" /><br />';
Первая строка - если язык по умолчанию

     
//Выводит "Возраст: xx", если известен или "Именинник: xx", если у пользователя день рождения
list ($birth_year, $birth_month, $birth_day) = sscanf($message['member']['birth_date'], '%d-%d-%d');
$datearray = getdate(forum_time());
$message['member']['age'] = $birth_year <= 4 ? '' : $datearray['year'] - $birth_year - (($datearray['mon'] > $birth_month || ($datearray['mon'] == $birth_month && $datearray['mday'] >= $birth_day)) ? 0 : 1);
$message['member']['today_is_birthday'] = $datearray['mon'] == $birth_month && $datearray['mday'] == $birth_day;
echo $message['member']['age'] ? ($message['member']['today_is_birthday'] ? 'Именинник: ' : 'Возраст: ').$message['member']['age'].'<br />' : '';   
     

TotalTimeLoggedIn_in_posts - выводит время проведенное на форуме в сообщениях
У меня нет такой строчки в дефлотной теме
// This shows the popular messaging icons.'
Мой Форум Охота и рыбалка на движке XenForo,
Вот сам Форум http://ohotarybalka24.ru/

valek0972

Цитата: dron от 03 июня 2015, 19:11:20У меня нет такой строчки в дефлотной теме
На нет и суда нет, у всех в дефлотной теме эта строка есть, а у вас отсутствует.

dron

Мой Форум Охота и рыбалка на движке XenForo,
Вот сам Форум http://ohotarybalka24.ru/

BoPoH

Цитата: dron от 03 июня 2015, 19:20:19Вот посмотри,Я не нашёл
а я нашёл, ну может стоит быть внимательней?

dron

Цитата: BoPoH от 03 июня 2015, 19:36:00
а я нашёл, ну может стоит быть внимательней?
Ну если не трудно какой номер строчки,подскажи
Мой Форум Охота и рыбалка на движке XenForo,
Вот сам Форум http://ohotarybalka24.ru/

BoPoH

524, я стесняюсь спросить , вы про комбинаций "ctrl+f" не в курсе? Так файл читаете? )

ALINA

Писец .А что мешает создать дополнительные поля профиля без танцев с бубнами ?

BoPoH

Цитата: ALINA от 03 июня 2015, 19:41:54
Писец .А что мешает создать дополнительные поля профиля без танцев с бубнами ?
так поле то стандартное есть, зачем еще одно делать, требуется значение существующего поля вывести под аватар