PDA

View Full Version : Show Avatar on forum homepage?


helenblog
02-28-2016, 10:53 AM
Hello

There is a easy template code to show avatar of the used (logged into the forum) on forum home page / forum display / thread view

I want to show avatar instead of showing user name as the default from vBulletin.

Does any one know how to do this?

Thanks in advance!

helenblog
02-29-2016, 03:30 PM
In FORUMHOME template, I want to show

the avatar of a member ( the person that logged into the forum )

for example:
under {vb:raw navbar}

I want to have this code

Hello, <img src="{$avatar_of_member}" alt="avatar of member">

{$avatar_of_member} is the image link of a member's avatar.

I searched on vBullletin but seem it didn't have any solutions for this.

MarkFL
02-29-2016, 04:40 PM
Add the following plugin:

Product: vBulletin

Hook Location: parse_templates

Title: Show Browsing Member's Avatar Under Navbar

Execution Order: 5

Plugin PHP Code:

if (THIS_SCRIPT === 'index')
{
require_once('./includes/functions_user.php');
$avatar_url = fetch_avatar_url($vbulletin->userinfo['userid']);
$avatar = $avatar_url[0];

if ($avatar)
{
$template_name = 'navbar';
$hook_name = 'below_navbar';
$find = '<div class="body_wrapper">';
$replace = '\' . $template_hook[\'below_navbar\'] . \'' . $find;
if (isset($vbulletin->templatecache[$template_name]))
{
$t_temp = $vbulletin->templatecache[$template_name];
$t_temp = str_replace($find, $replace, $t_temp);
$vbulletin->templatecache[$template_name] = $t_temp;
}
$template_hook[$hook_name] .= '<img src="' . $avatar . '" title="' . $vbulletin->userinfo['username'] . '\'s Avatar" style="margin-bottom: 10px; max-height: 90px; width: auto;" />';
}
}

Plugin is Active: Yes

Click "Save".

As you can see, I have given the avatar image a maximum height of 90px...you should adjust that to suit your needs, or if you want the avatar to display full size, then remove the inline CSS "max-height: 90px; width: auto;" from the img tag altogether.

Please let me know if there are any changes you would like. :)

helenblog
03-01-2016, 12:21 AM
Thanks Mark!

Your codes are awesome and it showed under navbar.

MarkFL
03-01-2016, 05:11 AM
As it turns out, Helen wanted to be able to be able to place the avatar in the "FORUMHOME" template herself, as she might change things up from time to time. So, I told her the following (I am posting this for the benefit of others):

----------------------------------------------------------------------

Okay, first create the following plugin:

Product: vBulletin

Hook Location: forumhome_complete

Title: Send Avatar HTML To FORUMHOME Template

Execution Order: 5

Plugin PHP Code:

if ($show['member'])
{
require_once('./includes/functions_user.php');
$avatar_url = fetch_avatar_url($vbulletin->userinfo['userid']);
$avatar = $avatar_url[0];

if (!$avatar)
{
$avatar = $vbulletin->stylevars['imgdir_misc']['imagedir'] . '/unknown.gif';
}
$username = $vbulletin->userinfo['username'];
}
else
{
$avatar = $vbulletin->stylevars['imgdir_misc']['imagedir'] . '/unknown.gif';
$username = 'Guest';
}

$avatar = '<img src="' . $avatar . '" title="' . $username . '\'s Avatar" style="max-height: 90px; width: auto;" />';

vB_Template::preRegister('FORUMHOME',array('avatar ' => $avatar));

Plugin is Active: Yes

Click "Save".

Now, wherever you wish for the user or guest's avatar to display, place the following code into you "FORUMHOME" template at the location you desire:

{vb:raw avatar}