Avatar a felhasználói blokkban

Molesz képe

A kérdésem a következő lenne.
Hogyan lehetne plusz modul nélkül megoldani, hogy a felhasználói blokkban a felhasználó avatarja megjelenjen. Úgy szeretném, hogy a blokk tetején középre igazítva jelenjen meg. Az előző általam nyitott topicban lett ajánlva egy modul, de a portolás még segítséggel se megy. Éppen ezért szeretném modul nélkül kivitelezni.

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
Fórum: 
aboros képe

http://api.drupal.org/api/function/template_preprocess_block

nagyjából ezt kell csinálnod a template.php -ban:

function SMINKNEVE_preprocess_block($vars) {
  global $user;
  if ($user->uid > 1) {
    if ($vars['block']->module == 'user' && $vars['block']->delta == 1) {
      $vars['block']->content = '<div class="userpic">' . $user->picture . '<div>' . $vars['block']->content;
    }
  }
}

ezután ürítened kell a theme registry -t mondjuk úgy, hogy ellátogatsz az admin/build/themes oldalra és mentesz egyet.

és még egy feladat lesz, css -ben helyre kell tenned a #block-user-1 .userpic kiválasztóval a képet.

nem vagyok benne teljesen biztos, hogy a $user->picture -ben van a kép és az is lehet, hogy csak a kép elérési útja van benne, akkor egy img -be rakod, src -nek megadod azt és úgy csinálod, de az elv a fenti. (is lehet, meg nyilván 100 más megoldás lehetséges;)

0
0

-
clear: both;

nevergone képe

Na ezt a megoldást elteszem magamnak! :)

0
0
foripepe képe

A kododbol valoban hianyzik az img tag. Valamint a masodik divnek bezaronak kell lennie (</div>).

Javitott verzio. Illeszd a template.php-be:

/**
 * Override or insert PHPTemplate variables into the templates.
 */
function phptemplate_preprocess_block(&$vars) {
  global $user;
  if ($user->uid > 0 && isset($user->picture) && $user->picture) {
    if ($vars['block']->module == 'user' && $vars['block']->delta == 1) {
      $vars['block']->content = '<div class="userpic">' . theme('image', $user->picture, $user->name, $user->name) . '</div>' . $vars['block']->content;
    }
  }
}

Majd menj erre az oldalra es uritsd a cache-t: admin/settings/performance
0
0