Пропустить

Поставить аватару на всех страницах

У вас есть идея для расширения функциональности phpBB 3.0.x? Расскажите о ней здесь!
Свернуть Развернуть Правила форума Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).

Поставить аватару на всех страницах

Сообщение Maksim90 » 30.07.2010 12:13

Здравствуйте!

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

Пример на картинке.
3.jpg


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

Как это можно реализовать?

Maksim90
phpBB 1.4.2
 
Сообщения: 54
Зарегистрирован: 24.05.2008 1:26
Благодарил (а): 4 раз.
Поблагодарили: 1 раз.

Re: Поставить аватару на всех страницах

Сообщение Nekstati » 30.07.2010 13:04

Найдите в файле includes/functions.php строку
		'PRIVATE_MESSAGE_INFO_UNREAD'	=> $l_privmsgs_text_unread,
Добавьте после
		'USER_AVATAR'			=>($user->optionget('viewavatars') && function_exists('get_user_avatar')) ? get_user_avatar($user->data['user_avatar'], $user->data['user_avatar_type'], $user->data['user_avatar_width'], $user->data['user_avatar_height']) : '',

Далее в шаблоне вашего блока выводите аватару так:
<!-- IF not S_IS_BOT and S_USER_LOGGED_IN and USER_AVATAR -->
	<a href="{U_PROFILE}">{USER_AVATAR}</a>
<!-- ENDIF -->
Вывод имени пользователя и ссылки «Выход»:
	{S_USERNAME}
	<a href="{U_LOGIN_LOGOUT}" title="{L_LOGOUT}">{L_LOGOUT}</a>


Интегрированное зеркальце — классная идея для дамских форумов, можно запатентовать. 8-)
За это сообщение автора Nekstati поблагодарили: 3
econaft (06.08.2010 10:29), Evgesh (24.06.2011 14:26), Maksim90 (06.08.2010 0:32)
Аватара пользователя
Nekstati
Лидер поддержки
Лидер поддержки
 
Сообщения: 2571
Зарегистрирован: 19.03.2009 18:43
Благодарил (а): 9 раз.
Поблагодарили: 772 раз.

Re: Поставить аватару на всех страницах

Сообщение MAzZY » 30.07.2010 13:49

Мне кажется, что я где видел мод, выводящий минипрофиль в шапку.
Аватара пользователя
MAzZY
Former team member
 
Сообщения: 2952
Зарегистрирован: 14.05.2005 23:43
Благодарил (а): 61 раз.
Поблагодарили: 54 раз.
Предупреждения: 1

Re: Поставить аватару на всех страницах

Сообщение Пчелкин » 30.07.2010 17:03

MAzZY писал(а):Мне кажется, что я где видел мод, выводящий минипрофиль в шапку.

Минипрофиль в выдвигающем баре в шапке форума - было бы круто! В uCoz было такое...
Фанат phpBB. В HTML - без проблем, в CSS - так себе, учусь, в php - баран, помогает только дедукция
Аватара пользователя
Пчелкин
phpBB 3.0.7-PL1
 
Сообщения: 4901
Зарегистрирован: 15.01.2010 14:57
Откуда: От Москвы 9 часов на Боинге
Благодарил (а): 289 раз.
Поблагодарили: 557 раз.

Re: Поставить аватару на всех страницах

Сообщение Maksim90 » 06.08.2010 0:30

Здравствуйте!

Аватара была вставлена, как посоветывал Nekstati.

Аватара не отображается в личном разделе.
А именно в:

Обзор/Черновкики
Обзор/Вложения


Профиль/Личные данные
Профиль/Регистрационные данные

Личные настройки/Общие настройки
Личные настройки/Отправка сообщений
Личные настройки/Настройки отображения

Личные сообщения/Управление черновиками
Личные сообщения/Входящие
Личные сообщения/Исходящие
Личные сообщения/Отправленные
Личные сообщения/Правила, папки, настройки

Группы/Участие в группах

Друзья и недруги/Список друзей
Друзья и недруги/Список недругов

А также аватара не отображается в модераторском разделе.

Как это можно исправить?

Maksim90
phpBB 1.4.2
 
Сообщения: 54
Зарегистрирован: 24.05.2008 1:26
Благодарил (а): 4 раз.
Поблагодарили: 1 раз.

Re: Поставить аватару на всех страницах

Сообщение Палыч » 06.08.2010 0:47

Maksim90 писал(а):Как это можно исправить?

Так, как посоветовала Nekstati
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
Палыч
Просто Палыч
Просто Палыч
 
Сообщения: 9471
Зарегистрирован: 24.05.2006 23:20
Откуда: Питер
Благодарил (а): 3 раз.
Поблагодарили: 337 раз.

Re: Поставить аватару на всех страницах

Сообщение Nekstati » 06.08.2010 7:26

Оп, действительно. :oops: Проще всего перенести функцию get_user_avatar() из файла includes/functions_display.php в includes/functions.php. Откройте первый файл, вырежьте оттуда эту функцию (она в самом конце) и вставьте в конец второго, перед знаком ?>.

/**
* Get user avatar
*

(тут куча строк)

	return '<img src="' . (str_replace(' ', '%20', $avatar_img)) . '" width="' . $avatar_width . '" height="' . $avatar_height . '" alt="' . ((!empty($user->lang[$alt])) ? $user->lang[$alt] : $alt) . '" />';
}
Аватара пользователя
Nekstati
Лидер поддержки
Лидер поддержки
 
Сообщения: 2571
Зарегистрирован: 19.03.2009 18:43
Благодарил (а): 9 раз.
Поблагодарили: 772 раз.

Re: Поставить аватару на всех страницах

Сообщение Kostelano » 06.08.2010 18:52

Maksim90
Есть похожий мод, но придется вставить ссылку выхода вручную: Welcome on Index
Аватара пользователя
Kostelano
phpBB 1.4.4
 
Сообщения: 76
Зарегистрирован: 23.02.2010 1:59
Откуда: Днепропетровск
Благодарил (а): 10 раз.
Поблагодарили: 13 раз.

Re: Поставить аватару на всех страницах

Сообщение Maksim90 » 01.09.2010 15:57

Nekstati
После

Nekstati писал(а):Проще всего перенести функцию get_user_avatar() из файла includes/functions_display.php в includes/functions.php. Откройте первый файл, вырежьте оттуда эту функцию (она в самом конце) и вставьте в конец второго, перед знаком ?>.


/**
* Get user avatar
*

(тут куча строк)

return '<img src="' . (str_replace(' ', '%20', $avatar_img)) . '" width="' . $avatar_width . '" height="' . $avatar_height . '" alt="' . ((!empty($user->lang[$alt])) ? $user->lang[$alt] : $alt) . '" />';
}


При отправке личного сообщения появляется вот такая ошибка:
Fatal error: Call to undefined function get_user_rank() in /var/www/domains/belgut.by/forum/includes/ucp/ucp_pm_viewmessage.php on line 310

Maksim90
phpBB 1.4.2
 
Сообщения: 54
Зарегистрирован: 24.05.2008 1:26
Благодарил (а): 4 раз.
Поблагодарили: 1 раз.

Re: Поставить аватару на всех страницах

Сообщение Nekstati » 01.09.2010 18:00

includes/ucp/ucp_pm_viewmessage.php
	if (!function_exists('get_user_avatar'))
	{
		include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
	}

Заменить на
//	if (!function_exists('get_user_avatar'))
//	{
		include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
//	}
Аватара пользователя
Nekstati
Лидер поддержки
Лидер поддержки
 
Сообщения: 2571
Зарегистрирован: 19.03.2009 18:43
Благодарил (а): 9 раз.
Поблагодарили: 772 раз.

Re: Поставить аватару на всех страницах

Сообщение Maksim90 » 25.09.2010 23:53

Сейчас возникла другая проблема. После добавления верхнего меню
1.PNG


я выставил размера аватары такие
Текущее изображение:
Максимальные размеры в пикселах; ширина: 130, высота: 96, размер файла: 292.97 Кб.

Это я сделал потому-что в моём верхнем меню высоту больше 96px никак больше сделать.

Теперь вопрос: как можно сделать чтобы, например,
Текущее изображение:
Максимальные размеры в пикселах; ширина: 200, высота: 200, размер файла: 292.97 Кб.


А в моём верхнем меню аватара становилась высотой 96px, ну и ширина подбиралась автоматически, возможно ли это?

Maksim90
phpBB 1.4.2
 
Сообщения: 54
Зарегистрирован: 24.05.2008 1:26
Благодарил (а): 4 раз.
Поблагодарили: 1 раз.

Re: Поставить аватару на всех страницах

Сообщение Nekstati » 26.09.2010 0:24

В вышеприведённом коде замените $user->data['user_avatar_width'], $user->data['user_avatar_height'] на '', 96.
Аватара пользователя
Nekstati
Лидер поддержки
Лидер поддержки
 
Сообщения: 2571
Зарегистрирован: 19.03.2009 18:43
Благодарил (а): 9 раз.
Поблагодарили: 772 раз.

Re: Поставить аватару на всех страницах

Сообщение Maksim90 » 26.09.2010 2:20

А вот в браузере IE 8 проблема:
Безымянный.PNG
(11.27 КБ) Скачиваний: 121


Высота стала 96px, а вот ширина почему-то 1px.

Maksim90
phpBB 1.4.2
 
Сообщения: 54
Зарегистрирован: 24.05.2008 1:26
Благодарил (а): 4 раз.
Поблагодарили: 1 раз.

Re: Поставить аватару на всех страницах

Сообщение Nekstati » 26.09.2010 12:23

Тогда так:
$user->data['user_avatar_width'], $user->data['user_avatar_height']
Заменить на
round($user->data['user_avatar_width'] / ($user->data['user_avatar_height'] / 96 + 0.001)), 96

Опять этот IE. :evil:
За это сообщение автора Nekstati поблагодарил:
Maksim90 (26.09.2010 13:26)
Аватара пользователя
Nekstati
Лидер поддержки
Лидер поддержки
 
Сообщения: 2571
Зарегистрирован: 19.03.2009 18:43
Благодарил (а): 9 раз.
Поблагодарили: 772 раз.


Вернуться в Запросы модов для phpBB 3.0.x

 

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

Бессрочный конкурс phpBB-ориентированных материалов
FastVPS — надёжный и доступный хостинг для phpBB
Место для вашей рекламы