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

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

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

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

digger®

19 Июль 2007, 01:57:45 Последнее редактирование: 23 Август 2018, 16:57:47 от digger®
Как быстро добавить вывод дополнительной информации под аватарами пользователей в сообщениях.

Ищем в файле /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']['language'] == '') echo '<img src="путь_к_картинке_1" /><br />';
elseif ($message['member']['language'] == 'english') echo '<img src="путь_к_картинке_2" /><br />';
elseif ($message['member']['language'] == 'еще_какой-то_язык') 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 - выводит время проведенное на форуме в сообщениях

go_blin

19 Июль 2007, 13:48:48 #1 Последнее редактирование: 19 Июль 2007, 13:58:29 от go_blin
Большое спасибо!
Только вот последний пункт (Выводит "Возраст: xx", если известен или "Именинник: xx", если у пользователя день рождения) не пашет. У юзверя указана в профиле дата рожления, однако в поле "Возраст" написано "не указан". И, соответственно, данный пункт под аватаркой не появляется.

Все ставил на абсолютно чистый форум 1.1.2, Все за одно за другим прописывал как раз там где надо
И Забадай меня Зидан, если это не так!

digger®

Цитата: go_blin от 19 Июль 2007, 13:48:48
Большое спасибо!
Только вот последний пункт (Выводит "Возраст: xx", если известен или "Именинник: xx", если у пользователя день рождения) не пашет. У юзверя указана в профиле дата рожления, однако в поле "Возраст" написано "не указан". И, соответственно, данный пункт под аватаркой не появляется.

А вывод даты рождения под аватаром работает?

go_blin

Да, вывод даты рождения работает исправно
И Забадай меня Зидан, если это не так!

digger®

Цитата: go_blin от 19 Июль 2007, 14:37:23
Да, вывод даты рождения работает исправно

Дата рождения отображается в виде ГГГГ-ММ-ДД ?

Вот такое выводит год рождения?
Код
list ($birth_year, $birth_month, $birth_day) = sscanf($message['member']['birth_date'], '%d-%d-%d');
echo 'Год рождения: ' . $birth_year;

go_blin

Угу, дата рождения отображается в довольно непривычном виде ГГГГ-ММ-ДД

А вот год рождения по тому коду, что ты написал не выводит. Простая строчка "Год рождения:" , а значения как такогого нет, пусто

Общая картинка на скриншоте
И Забадай меня Зидан, если это не так!

digger®

Цитата: go_blin от 19 Июль 2007, 15:02:25
А вот год рождения по тому коду, что ты написал не выводит. Простая строчка "Год рождения:" , а значения как такогого нет, пусто

:o

А у тебя в профилях возраст тоже не показывает?
Версия php какая?

go_blin

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

Может быть стоит проверить эти изменения кому-либо еще...
И Забадай меня Зидан, если это не так!

masterb

03 Август 2007, 20:00:08 #8 Последнее редактирование: 03 Август 2007, 20:12:54 от masterb
Кто скажет как вывести дату регистрации вида "1 Января 2007" ?

echo 'Зарегистрирован: '. strftime("%d.%B.%Y", $message['member']['registered_timestamp']).'<br />';

Так месяц выводит по буржуйски, нужно по нашему.

digger®

Цитата: masterb от 03 Август 2007, 20:00:08
Кто скажет как вывести дату регистрации вида "1 Января 2007" ?

echo 'Зарегистрирован: '. strftime("%d.%B.%Y", $message['member']['registered_timestamp']).'<br />';

Так месяц выводит по буржуйски, нужно по нашему.

Код
$date_reg = $message['member']['registered_timestamp'];
echo 'Зарегистрирован: '. date('d', $date_reg) .  ' '  .$txt['months'][date('n', $message['member']['registered_timestamp'])] . ' ' . date('Y', $date_reg) . '<br />';


digger®

Цитата: masterb от 03 Август 2007, 20:00:08
Кто скажет как вывести дату регистрации вида "1 Января 2007" ?

Или так, покрасивее.
Код

$date_reg = explode(',', $message['member']['registered']);
echo 'Зарегистрирован: ' . $date_reg[0] . '<br />';

masterb


hymen


hymen

$date_reg = explode(',', $message['member']['registered']);
echo '<p style="line-height:100%; margin-top:0; margin-bottom:0;"><b>Зарегистрирован:</b></p> ' . $date_reg[0] . '<br />';

Это дает определенный момент пользы - если профильная часть маленькая по ширине.

hymen

Но почему то в IE все стало каким то большим.

В чем тут проблема?

masterb

Для себя я вообще сделал статическим размер профильной части в сообщениях:
Код

// Show information about the poster of this message.
echo '
<table width="100%" cellpadding="5" cellspacing="0" style="table-layout: fixed;">
<tr>
<td valign="top" width="185" rowspan="2" style="overflow: hidden;">


<td valign="top" width="185" вместо 16%, имхо так намного лучше :)

Gover

Подскажите как дату рождения привести из вида Дата рождения: 1980-09-15 в вид Дата рождения: 15.05.1980?
Как много лишних слов, как мало лишниг денег...<br />Все победы в жизни начинаются с победы над собой.

kosty555

А можно ли вывести "Количество постов"? и Еще бы выкрасить все ну к примеру в красный цвет

digger®

Цитата: kosty555 от 21 Сентябрь 2007, 16:03:37
А можно ли вывести "Количество постов"?
Оно там по умолчанию отображается.
Цитировать
А можно ли вывести "Количество постов"? и Еще бы выкрасить все ну к примеру в красный цвет
Можно посмотреть любой справочник "HTML для чайников"

Mavn

Цитата: Gover от 16 Сентябрь 2007, 20:26:54
Подскажите как дату рождения привести из вида Дата рождения: 1980-09-15 в вид Дата рождения: 15.05.1980?
Технически сделать это можно. Переписать часть запросов и переписать структуру бд где прописывается дата в общем то ничего сложного.
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

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

digger®

Цитата: Gover от 16 Сентябрь 2007, 20:26:54
Подскажите как дату рождения привести из вида Дата рождения: 1980-09-15 в вид Дата рождения: 15.05.1980?
Интересует при добавлении под аватар или глобально?

lirikk


X-tremo

а как сделать, чтоб при регистрации принудительно требовалось ввести город и имя?

Gover

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

Mavn

За вывод данной информации в статистике отвечает данный код

Код

foreach ($context['top_time_online'] as $poster)
echo '
<tr>
<td width="60%" valign="top">', $poster['link'], '</td>
<td width="20%" align="left" valign="top">', $poster['time_online'] > 0 ? '<img src="' . $settings['images_url'] . '/bar.gif" width="' . $poster['time_percent'] . '" height="15" alt="" />' : '&nbsp;', '</td>
<td width="20%" align="right" valign="top" nowrap="nowrap">', $poster['time_online'], '</td>
</tr>';

где ', $poster['time_online'], ' - время проведенное пользователем на форуме.
А дальше адаптируйте под свою тему оформления
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

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

Gover

Такой вариант неподходит. Я пробовал добавлять это в тему, но отобажаться ничего не хочет. Просмотрел Stats.php там идет запрос только на 10-ку самых активных. Как вариант можно самому запрос к базе сделать.
Как много лишних слов, как мало лишниг денег...<br />Все победы в жизни начинаются с победы над собой.

digger®

Цитата: Gover от 13 Ноябрь 2007, 22:25:04
Такой вариант неподходит. Я пробовал добавлять это в тему, но отобажаться ничего не хочет. Просмотрел Stats.php там идет запрос только на 10-ку самых активных. Как вариант можно самому запрос к базе сделать.
Поищите поиском, я как то уже писал как сделать такое.

Gover

Цитата: digger от 14 Ноябрь 2007, 17:03:26
Поищите поиском, я как то уже писал как сделать такое.
Спасибочки (+1), на 14-й странице твоих ответов нашел ссылку на топик, буду пробовать ставить.
на всякий пожарный, может еще кому пригодится.

TotalTimeLoggedIn_in_posts - выводит время проведенное на форуме в сообщениях
Как много лишних слов, как мало лишниг денег...<br />Все победы в жизни начинаются с победы над собой.

mijsvit

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

Спасибо! Пример во вложении.
>>Украинская локализация [Karma Description Mod] <<


mijsvit

>>Украинская локализация [Karma Description Mod] <<


mijsvit

Почему спрашиваю -

ЦитироватьПакет, который Вы собираетесь установить, поврежден, либо не поддерживается даной версией SMF.

Может быть проблема в правах на папки/файлы? Скажите пожалуйста, какие файли/папки нужно разрешить к записи?
>>Украинская локализация [Karma Description Mod] <<

digger®

Цитата: mijsvit от 26 Январь 2008, 23:37:00
Почему спрашиваю -

Может быть проблема в правах на папки/файлы? Скажите пожалуйста, какие файли/папки нужно разрешить к записи?
В установщике мода исправьте install for="1.1.2 на install for="1.1.4

mijsvit

Отлично!+

Теперь последний вопрос - какие файлы и папки нужно разрешить для записи, для установки мода ато у меня такие права сняты вобще.
Буду благодарен если укажите
>>Украинская локализация [Karma Description Mod] <<

digger®

Цитата: mijsvit от 27 Январь 2008, 00:00:05
Отлично!+

Теперь последний вопрос - какие файлы и папки нужно разрешить для записи, для установки мода ато у меня такие права сняты вобще.
Буду благодарен если укажите
В modification.xml смотрите какие файлы он меняет.

ZeUsSaN

Подскажите пожалуйста как в  SMF 2.0 Beta 3 Public вместо текстового статуса предупреждения показывало проценты...  ::)

oldcopy

Цитата: digger от 19 Июль 2007, 01:57:45
Код
//Выводит слово "Забанен", если пользователь забанен
echo $message['member']['is_banned'] ? 'Забанен'.'<br />' : '';

Подскажите, как прописать вместо слова "забанен" картинку, скажем banned.gif
Попробовал вот так, но не получается, пишет ошибку темплейта
Код
echo $message['member']['is_banned'] ? '<img src="' . $settings['images_url'] . '/banned.gif>'.'<br />' : '';
AUT VIAM INVENIAM AUT FACIAM <или найду дорогу или проложу ее сам (лат.)>

digger®

Цитата: oldcopy от 10 Апрель 2008, 23:43:24
Подскажите, как прописать вместо слова "забанен" картинку, скажем banned.gif
Попробовал вот так, но не получается, пишет ошибку темплейта
Код
echo $message['member']['is_banned'] ? '<img src="' . $settings['images_url'] . '/banned.gif>'.'<br />' : '';

Код

echo $message['member']['is_banned'] ? '<img src="' . $settings['images_url'] . '/banned.gif">'.'<br />' : '';

oldcopy

digger
А в чем разница?
У меня в таком виде не работает. Тема по дефолту.
AUT VIAM INVENIAM AUT FACIAM <или найду дорогу или проложу ее сам (лат.)>


dedmazai

Цитата: digger от 10 Апрель 2008, 23:54:56
Код

echo $message['member']['is_banned'] ? '<img src="' . $settings['images_url'] . '/banned.gif">'.'<br />' : '';


Digger, искал, искал и не нашёл никаких изменений

oldcopy

Я тоже, но и в этом виде не работает, темплейт перестал писать ошибку, но вместо картинки стоит символ "*" и пропал статус участника, звезды (короче все между ником и кармой).
AUT VIAM INVENIAM AUT FACIAM <или найду дорогу или проложу ее сам (лат.)>

Korum

Здравствуйте. Вы не могли бы мне подсказать, как выводить статус участника? Под аватаром ввиде картинки( админ, модер, какая-либо другая группа пользователей) . Форум-SMF 1.1.5, тема-babylon. Или, может, для подобной операции существует какой-либо специальный мод?

KVL

17 Май 2008, 03:12:40 #44 Последнее редактирование: 17 Май 2008, 03:38:13 от KVL
Цитата: Korum от 16 Май 2008, 11:36:32
Здравствуйте. Вы не могли бы мне подсказать, как выводить статус участника? Под аватаром ввиде картинки( админ, модер, какая-либо другая группа пользователей) . Форум-SMF 1.1.5, тема-babylon. Или, может, для подобной операции существует какой-либо специальный мод?

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

Залей в свою тему, в папку, где имиджи, нужные тебе картинки, а адрес картинок перебей в админке в настройках и изменениях групп пользователей, где стоит адрес файла звёздочек для определённой группы или закинь эти картинки (такой же тип файлов) в папку имидж вместо звёздочек и обзови эти идентично, также, как и были у звёздочек, тогда в админке и путь к картинке менять не придёться.

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

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

[Member Awards Mod] - Мод, Награды для пользователей

Korum

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

Залей в свою тему, в папку, где имиджи, нужные тебе картинки, а адрес картинок перебей в админке в настройках и изменениях групп пользователей, где стоит адрес файла звёздочек для определённой группы или закинь эти картинки (такой же тип файлов) в папку имидж вместо звёздочек и обзови эти идентично, также, как и были у звёздочек, тогда в админке и путь к картинке менять не придёться.

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

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

ЦитироватьА, чтобы выводить дополнительную картинку под аватаром, можно наверное, вот этот мод использовать:

[Member Awards Mod] - Мод, Награды для пользователей

Нет, не помогло. В babylone не отображается вообще ничего, а в дефаулте добавляется лишь иображение с виду напоминающее кеглю.
В системах других форумов я видел решение таких, как у меня , проблем и надеялся , что осуществить его удасться и в SMF. Видимо-зря надеялся. Но тем не менее-благодарю за отклик. :)

KVL

Цитата: Korum от 17 Май 2008, 08:20:06....Вся проблема заключается в том, чтоб отображались и звёздочки и картинка администратора-модера-участника. ....

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

Korum


Serifa

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

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


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