Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.
Ссылка на аватар
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ).
-
- phpBB 1.2.0
- Сообщения: 10
- Стаж: 7 лет 3 месяца
- Благодарил (а): 5 раз
Ссылка на аватар
Доброго дня.
Есть тег аватар: {CURRENT_USER_AVATAR}, мне нужна только ссылка на аватар.
Вот такой вопрос:
Есть ли тег Ссылка на аватар пользователя, если нет, то где находиться сам код тега {CURRENT_USER_AVATAR} в движке?
Есть тег аватар: {CURRENT_USER_AVATAR}, мне нужна только ссылка на аватар.
Вот такой вопрос:
Есть ли тег Ссылка на аватар пользователя, если нет, то где находиться сам код тега {CURRENT_USER_AVATAR} в движке?
-
- Поддержка
- Сообщения: 12422
- Стаж: 12 лет 8 месяцев
- Благодарил (а): 166 раз
- Поблагодарили: 2474 раза
Re: Ссылка на аватар
includes/functions.php
Код: Выделить всё
'CURRENT_USER_AVATAR' => phpbb_get_user_avatar($user->data),
Код: Выделить всё
function phpbb_get_user_avatar($user_row, $alt = 'USER_AVATAR', $ignore_config = false, $lazy = false)
{
$row = \phpbb\avatar\manager::clean_row($user_row, 'user');
return phpbb_get_avatar($row, $alt, $ignore_config, $lazy);
}
Код: Выделить всё
function phpbb_get_avatar($row, $alt, $ignore_config = false, $lazy = false)
{
global $user, $config;
global $phpbb_container, $phpbb_dispatcher;
if (!$config['allow_avatar'] && !$ignore_config)
{
return '';
}
$avatar_data = array(
'src' => $row['avatar'],
'width' => $row['avatar_width'],
'height' => $row['avatar_height'],
);
/* @var $phpbb_avatar_manager \phpbb\avatar\manager */
$phpbb_avatar_manager = $phpbb_container->get('avatar.manager');
$driver = $phpbb_avatar_manager->get_driver($row['avatar_type'], !$ignore_config);
$html = '';
if ($driver)
{
$html = $driver->get_custom_html($user, $row, $alt);
if (!empty($html))
{
return $html;
}
$avatar_data = $driver->get_data($row);
}
else
{
$avatar_data['src'] = '';
}
if (!empty($avatar_data['src']))
{
if ($lazy)
{
// Determine board url - we may need it later
$board_url = generate_board_url() . '/';
// This path is sent with the base template paths in the assign_vars()
// call below. We need to correct it in case we are accessing from a
// controller because the web paths will be incorrect otherwise.
$phpbb_path_helper = $phpbb_container->get('path_helper');
$corrected_path = $phpbb_path_helper->get_web_root_path();
$web_path = (defined('PHPBB_USE_BOARD_URL_PATH') && PHPBB_USE_BOARD_URL_PATH) ? $board_url : $corrected_path;
$theme = "{$web_path}styles/" . rawurlencode($user->style['style_path']) . '/theme';
$src = 'src="' . $theme . '/images/no_avatar.gif" data-src="' . $avatar_data['src'] . '"';
}
else
{
$src = 'src="' . $avatar_data['src'] . '"';
}
$html = '<img class="avatar" ' . $src . ' ' .
($avatar_data['width'] ? ('width="' . $avatar_data['width'] . '" ') : '') .
($avatar_data['height'] ? ('height="' . $avatar_data['height'] . '" ') : '') .
'alt="' . ((!empty($user->lang[$alt])) ? $user->lang[$alt] : $alt) . '" />';
}
/**
* Event to modify HTML <img> tag of avatar
*
* @event core.get_avatar_after
* @var array row Row cleaned by \phpbb\avatar\manager::clean_row
* @var string alt Optional language string for alt tag within image, can be a language key or text
* @var bool ignore_config Ignores the config-setting, to be still able to view the avatar in the UCP
* @var array avatar_data The HTML attributes for avatar <img> tag
* @var string html The HTML <img> tag of generated avatar
* @since 3.1.6-RC1
*/
$vars = array('row', 'alt', 'ignore_config', 'avatar_data', 'html');
extract($phpbb_dispatcher->trigger_event('core.get_avatar_after', compact($vars)));
return $html;
}
core.get_avatar_after
и оттуда получить что хочется (проще из $avatar_data
вытащить)-
- phpBB 1.2.0
- Сообщения: 10
- Стаж: 7 лет 3 месяца
- Благодарил (а): 5 раз
Re: Ссылка на аватар
Татьяна5 - Спасибо за отклик.
Помогите исправить код:
Выводить: 2_1484821753.jpg место ссылки: ./download/file.php?avatar=2_1484821753.jpg
Помогите исправить код:
Код: Выделить всё
'CURRENT_USER_AVATAR_URL' => \phpbb\avatar\manager::clean_row($user->data, 'user')['avatar'],
-
- Поддержка
- Сообщения: 12422
- Стаж: 12 лет 8 месяцев
- Благодарил (а): 166 раз
- Поблагодарили: 2474 раза
Re: Ссылка на аватар
Дважды при каждом обращении к аватару вызывать
Если нужно только название, то это в событии
clean_row
незачем, это лишняя нагрузкаЕсли нужно только название, то это в событии
$row['avatar']
-
- phpBB 1.2.0
- Сообщения: 10
- Стаж: 7 лет 3 месяца
- Благодарил (а): 5 раз
Re: Ссылка на аватар
Понятно.
Я сделал так:
Код: Выделить всё
'CURRENT_USER_AVATAR_URL' => phpbb_get_user_avatar($user->data,true),
Код: Выделить всё
function phpbb_get_user_avatar($user_row, $url = false, $alt = 'USER_AVATAR', $ignore_config = false, $lazy = false)
{
$row = \phpbb\avatar\manager::clean_row($user_row, 'user');
return phpbb_get_avatar($row, $url, $alt, $ignore_config, $lazy);
}
Код: Выделить всё
if(!$url){
$html = '<img class="avatar" ' . $src . ' ' .
($avatar_data['width'] ? ('width="' . $avatar_data['width'] . '" ') : '') .
($avatar_data['height'] ? ('height="' . $avatar_data['height'] . '" ') : '') .
'alt="' . ((!empty($user->lang[$alt])) ? $user->lang[$alt] : $alt) . '" />';
}else{
$html = $avatar_data['src'];
}
-
- Поддержка
- Сообщения: 12422
- Стаж: 12 лет 8 месяцев
- Благодарил (а): 166 раз
- Поблагодарили: 2474 раза
Re: Ссылка на аватар
Вопрос: зачем?
Не идеально, но большего и не требуется
Код: Выделить всё
'core.get_avatar_after' => 'get_avatar_after',
Код: Выделить всё
public function get_avatar_after($event)
{
$this->template->assign_var('CURRENT_USER_AVATAR_URL', $event['row']['avatar']);
}
-
- phpBB 1.2.0
- Сообщения: 10
- Стаж: 7 лет 3 месяца
- Благодарил (а): 5 раз
Re: Ссылка на аватар
Не работает код.
Последний раз редактировалось Sheer 20.01.2017 14:45, всего редактировалось 1 раз.
Причина: Удален оверквотинг
Причина: Удален оверквотинг
-
- phpBB 1.2.0
- Сообщения: 10
- Стаж: 7 лет 3 месяца
- Благодарил (а): 5 раз
Re: Ссылка на аватар
Так, это код надо в listener.php добавлять?
А я в файл includes/functions.php скопировал.
-
- Поддержка
- Сообщения: 12422
- Стаж: 12 лет 8 месяцев
- Благодарил (а): 166 раз
- Поблагодарили: 2474 раза