Strona 1 z 1

Avatar on index w page_header.php

: 28 grudnia 2006, 12:14
autor: jaroslw
Zainstalowałem sobie avatar on index, ale zamiast do index.php kod wrzuciłem do page_header.php bo chcę aby avatary użytkowników wyświetlały się w topie (tak jak tutaj na forum). Jednak pojawił się mały problem. Avatar który ja mam w swoim profilu zamienia inne avatary, tzn jeśli ktoś posiada avatar, ja oglądając jego profil widzę swój avatar, a jeśli ktoś nie ma avatara widzę ten zastępczy, oznaczający jego brak. Tak wygląda moja przerobiona instrukcja dla page_header.php, pliki tpl i langi opuszczam w niej bo z tym to nie problem ;p

Kod: Zaznacz cały

#
#-----[ OPEN ]------------------------------------------
#
index.php
#
#-----[ FIND ]------------------------------------------
#
	$template->set_filenames(array(
	'overall_header' => ( empty($gen_simple_header) ) ? 'overall_header.tpl' : 'simple_header.tpl')
);

#
#-----[ AFTER, ADD ]------------------------------------------
#

//
// START MOD: Avatar On Index  - Denz
//
$avatar_img = '';
if ( $userdata['user_avatar_type'] && $userdata['user_allowavatar'] )
{
	switch( $userdata['user_avatar_type'] )
	{
		case USER_AVATAR_UPLOAD:
			$avatar_img = ( $board_config['allow_avatar_upload'] ) ? '<img src="' . $board_config['avatar_path'] . '/' . $userdata['user_avatar'] . '" alt="" border="0" />' : '';
			break;
		case USER_AVATAR_REMOTE:
			$avatar_img = ( $board_config['allow_avatar_remote'] ) ? '<img src="' . $userdata['user_avatar'] . '" alt="" border="0" />' : '';
			break;
		case USER_AVATAR_GALLERY:
			$avatar_img = ( $board_config['allow_avatar_local'] ) ? '<img src="' . $board_config['avatar_gallery_path'] . '/' . $userdata['user_avatar'] . '" alt="" border="0" />' : '';
			break;
	}
}
if ($avatar_img == '')
{
    $avatar_img = '<img src="templates/weeb/images/avatar.gif" />';
}
// Check For Anonymous User
if ($userdata['user_id'] != '-1')
{
    $name_link = '<a href="profile.php?mode=viewprofile&u=' . $userdata['user_id'] . '" style="color: #fff;">' . $userdata['username'] . '</a>';
}
else
{
    $name_link = 'Anonymous';
}
//
// END MOD: Avatar On Index  - Denz
//

#
#-----[ FIND ]------------------------------------------
#
'PRIVMSG_IMG' => $icon_pm,
#
#-----[ AFTER, ADD ]------------------------------------------
#
        //
	// START MOD: Avatar On Index  - Denz
	//
	'L_NAME_WELCOME' => $lang['Welcome'],
	'U_NAME_LINK' => $name_link,
	'AVATAR_IMG' => $avatar_img,
	//
	// END MOD: Avatar On Index  - Denz
	//
Przepraszam, że nie daję kodu w załączniku. Zapewne jest to mój błąd w umieszczeniu tego kodu w odpowiednim miejscu lub trzeba coś w nim zmienić.

: 28 grudnia 2006, 12:57
autor: mateusz
nie wiem gdzie ty go dałeś ale mnie działa bez problemu
w pliku page_header.php
szukasz:

Kod: Zaznacz cały

$template->assign_vars(array(
'SITENAME' => $board_config['sitename'],
i przed tym fragmentem wstawiasz:

Kod: Zaznacz cały

// 
// START MOD: Avatar On Index  - Denz 
// 
$avatar_img = ''; 
if ( $userdata['user_avatar_type'] && $userdata['user_allowavatar'] ) 
{ 
   switch( $userdata['user_avatar_type'] ) 
   { 
      case USER_AVATAR_UPLOAD: 
         $avatar_img = ( $board_config['allow_avatar_upload'] ) ? '<img src="' . $board_config['avatar_path'] . '/' . $userdata['user_avatar'] . '" alt="" border="0" />' : ''; 
         break; 
      case USER_AVATAR_REMOTE: 
         $avatar_img = ( $board_config['allow_avatar_remote'] ) ? '<img src="' . $userdata['user_avatar'] . '" alt="" border="0" />' : ''; 
         break; 
      case USER_AVATAR_GALLERY: 
         $avatar_img = ( $board_config['allow_avatar_local'] ) ? '<img src="' . $board_config['avatar_gallery_path'] . '/' . $userdata['user_avatar'] . '" alt="" border="0" />' : ''; 
         break; 
   } 
} 
if ($avatar_img == '') 
{ 
    $avatar_img = '<img src="templates/weeb/images/avatar.gif" />'; 
} 
// Check For Anonymous User 
if ($userdata['user_id'] != '-1') 
{ 
    $name_link = '<a href="profile.php?mode=viewprofile&u=' . $userdata['user_id'] . '" style="color: #fff;">' . $userdata['username'] . '</a>'; 
} 
else 
{ 
    $name_link = 'Anonymous'; 
} 
// 
// END MOD: Avatar On Index  - Denz 
// 
a po tym fragmencie wstawiasz:

Kod: Zaznacz cały

        // 
   // START MOD: Avatar On Index  - Denz 
   // 
   'L_NAME_WELCOME' => $lang['Welcome'], 
   'U_NAME_LINK' => $name_link, 
   'AVATAR_IMG' => $avatar_img, 
   // 
   // END MOD: Avatar On Index  - Denz 
   // 
a tpl to już gdzie tam chcesz
oto mój przykląd. jest tylko avatar bez tekstu ale to dlatego że go nie zrobiłem w tpl :D
Obrazek

: 28 grudnia 2006, 13:06
autor: jaroslw
W widoku postów miałem dobrze.

Wchodzę w oglądanie profilu usera B, który ma tam jakiś swój avatar i zamiast tego jego avatara widzę w tym miejscu swój. Ina sytuacja: wchodzę w profil usera C, który nie ma swojego avatara i w miejsce avatara którego on nie ma pojawia mi się obrazek zastępczy z napisem Avatar a w tym wypadku kolumna Emblemat powinna być pusta.

: 28 grudnia 2006, 13:15
autor: mateusz
nie rozumiem to ty w widoku profilu chcesz widzieć zawsze swój avatar a nie usera ktoego profil oglądasz ??

: 28 grudnia 2006, 13:19
autor: jaroslw
mateusz pisze:nie rozumiem to ty w widoku profilu chcesz widzieć zawsze swój avatar a nie usera ktoego profil oglądasz ??
Nie. Właśnie ja mam odwrotnie. Obecnie w widoku profilu widzę zawsze swój avatar, a nie usera którego oglądam profil.

[ Dodano: 28 Grudzień 2006, 15:48 ]
Udało się rozwiązać problem, a leżał w tym że zmienne $avatar nadpisywały się. Wystarczyło zmienić zmienne $avatar na np. $emblemat :)