Felhasználó képének átméretezése

lazar képe

Miként oldható meg, hogy a felhasználó képét átméretezze a rendszer az általam megadott méretre?
Azt látom, hogy meg lehet szabni mekkorát csatoljon, azonban egy közösségi honlap felhasználói közöl sokan nem ismernek egyetlen képszerkesztő programot sem. Tehát azt szeretném elérni hogy csatolja a fotóját (egy max méretet persze csak megszabok), a rendszer pedig méretezze át pl. 60*60-ra a profiloldalon (és nemcsak).
Az imagecacheben van crop funció de az csak a tartalomtípusként feltöltött fotók átméretezésében segít.

Köszönettel,
Lehel

Drupal verzió: 
aboros képe

tehát akkor preprocessora is van, amit a template.php -ban valósíthatsz ugye meg.
ez az eredeti egy olyan átírata, ami egy "thumb" nevű sablonnal készíti el a user képét minden esetben:

function SMINKNEVE_preprocess_user_picture(&$variables) {
  $variables['picture'] = '';
  if (variable_get('user_pictures', 0)) {
    $account = $variables['account'];
    if (!empty($account->picture) && file_exists($account->picture)) {
      $picture = file_create_url($account->picture);
    }
    else if (variable_get('user_picture_default', '')) {
      $picture = variable_get('user_picture_default', '');
    }
 
    if (isset($picture)) {
      $alt = t("@user's picture", array('@user' => $account->name ? $account->name : variable_get('anonymous', t('Anonymous'))));
      #figyi itt nyulunk bele
      $variables['picture'] = theme('imagecache', 'thumb', $picture, $alt, $alt, array());
      #belenyulas vege
      if (!empty($account->uid) && user_access('access user profiles')) {
        $attributes = array('attributes' => array('title' => t('View user profile.')), 'html' => TRUE);
        $variables['picture'] = l($variables['picture'], "user/$account->uid", $attributes);
      }
    }
  }
}

végülis csak egy értékadást írtunk felül, hogy ne a theme('image' .. -en kergesse át a képet, hanem a theme('imagecache' .. -en.

ha ennél bonyolultabb kell, kérdezz bátran.
és légyszi ne csináljad, hogy ilyen címkéket adsz meg kapcsolódó modulnak, hogy "imagecache(?)" a kérdőjel nem kellene szerintem, az nem a modul neve.

itt az eredeti előfeldolgozó:
http://api.drupal.org/api/function/template_preprocess_user_picture/6
fél sort változtattunk. ;)

0
0

-
clear: both;

lazar képe

egyelőre nem akar működni, gondolom azért, mert az imagecache mappa nem tartalmazza a thumbnailokat.

Ellenben köszönöm a segítséget, és végigrágom - míg működni fog:)

0
0
sgabe képe

theme('imagecache', 'thumb', $picture, $alt, $alt, array());

létre kell hoznod a "thumb" presetet hozzá, a képet akkor készíti el, amikor meghívod a fenti theme(); függvénnyel

0
0
thamas képe

Itt egy cikk a témáról:

http://www.lullabot.com/articles/imagecache_example_user_profile_pictures

Sőt, vhol olyat is láttam, hogy miként lehet más-más méretet használni a profile oldalon és mondjuk a fórumban. De annak az url-jére nem emlékszem sajnos... :o(

0
0

Üdvözlettel:
Hajas Tamás

aboros képe

az előfeldolgozóban lenézed arg() -al hogy éppen milyen útvonalon vagyunk és annak megfelelően állítod be, hogy melyik imagecache sablon hívódjon.

0
0

-
clear: both;

lazar képe

No, ezzel az egy topikkal három képkezelési problémám oldottam meg, és világossá vált az imagecahe működése is :)

Köszönet mindhárom hozzászólónak.

0
0