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

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

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Maksim90
phpBB 1.4.2
Сообщения: 65
Стаж: 18 лет 4 месяца
Благодарил (а): 4 раза
Поблагодарили: 4 раза

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

Сообщение Maksim90 »

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

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

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

Как это можно реализовать?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3365
Стаж: 17 лет 7 месяцев
Благодарил (а): 37 раз
Поблагодарили: 1455 раз

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

Сообщение Nekstati »

Найдите в файле 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-)
MAzZY
Бывший член :)
Сообщения: 2925
Стаж: 21 год 5 месяцев
Благодарил (а): 79 раз
Поблагодарили: 69 раз
Забанен: Бессрочно

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

Сообщение MAzZY »

Мне кажется, что я где видел мод, выводящий минипрофиль в шапку.
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11372
Стаж: 16 лет 9 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

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

Сообщение Пчелкин »

MAzZY писал(а):Мне кажется, что я где видел мод, выводящий минипрофиль в шапку.
Минипрофиль в выдвигающем баре в шапке форума - было бы круто! В uCoz было такое...
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Maksim90
phpBB 1.4.2
Сообщения: 65
Стаж: 18 лет 4 месяца
Благодарил (а): 4 раза
Поблагодарили: 4 раза

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

Сообщение Maksim90 »

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

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

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

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


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

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

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

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

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

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

Как это можно исправить?
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 20 лет 4 месяца
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза

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

Сообщение Палыч »

Maksim90 писал(а):Как это можно исправить?
Так, как посоветовала Nekstati
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3365
Стаж: 17 лет 7 месяцев
Благодарил (а): 37 раз
Поблагодарили: 1455 раз

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

Сообщение Nekstati »

Оп, действительно. :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) . '" />';
}
Аватара пользователя
Kostelano
phpBB 1.4.2
Сообщения: 69
Стаж: 16 лет 8 месяцев
Откуда: Dnepr, UA
Благодарил (а): 10 раз
Поблагодарили: 12 раз

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

Сообщение Kostelano »

Maksim90
Есть похожий мод, но придется вставить ссылку выхода вручную: Welcome on Index
Maksim90
phpBB 1.4.2
Сообщения: 65
Стаж: 18 лет 4 месяца
Благодарил (а): 4 раза
Поблагодарили: 4 раза

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

Сообщение Maksim90 »

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
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3365
Стаж: 17 лет 7 месяцев
Благодарил (а): 37 раз
Поблагодарили: 1455 раз

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

Сообщение Nekstati »

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);
//	}
Maksim90
phpBB 1.4.2
Сообщения: 65
Стаж: 18 лет 4 месяца
Благодарил (а): 4 раза
Поблагодарили: 4 раза

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

Сообщение Maksim90 »

Сейчас возникла другая проблема. После добавления верхнего меню
1.PNG
я выставил размера аватары такие
Текущее изображение:
Максимальные размеры в пикселах; ширина: 130, высота: 96, размер файла: 292.97 Кб.
Это я сделал потому-что в моём верхнем меню высоту больше 96px никак больше сделать.

Теперь вопрос: как можно сделать чтобы, например,
Текущее изображение:
Максимальные размеры в пикселах; ширина: 200, высота: 200, размер файла: 292.97 Кб.
А в моём верхнем меню аватара становилась высотой 96px, ну и ширина подбиралась автоматически, возможно ли это?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3365
Стаж: 17 лет 7 месяцев
Благодарил (а): 37 раз
Поблагодарили: 1455 раз

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

Сообщение Nekstati »

В вышеприведённом коде замените $user->data['user_avatar_width'], $user->data['user_avatar_height'] на '', 96.
Maksim90
phpBB 1.4.2
Сообщения: 65
Стаж: 18 лет 4 месяца
Благодарил (а): 4 раза
Поблагодарили: 4 раза

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

Сообщение Maksim90 »

А вот в браузере IE 8 проблема:
Безымянный.PNG
Высота стала 96px, а вот ширина почему-то 1px.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3365
Стаж: 17 лет 7 месяцев
Благодарил (а): 37 раз
Поблагодарили: 1455 раз

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

Сообщение Nekstati »

Тогда так:

Код: Выделить всё

$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:
Аватара пользователя
ВладимирТ
phpBB 2.0.4
Сообщения: 421
Стаж: 16 лет 4 месяца
Откуда: Москва
Благодарил (а): 52 раза
Поблагодарили: 75 раз

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

Сообщение ВладимирТ »

Как можно вставить аватару не глобально для всех страниц как описано выше,
а только для личного раздела - ucp ?
На вкус и цвет - разный CSS

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