Как использовать в разных модулях {$usr.avatar} при этом назначив разные стили и размеры?
Как использовать в разных модулях {$usr.avatar} при этом назначив разные стили и размеры?
Создаю модуль где для {$usr.avatar} выставляю 'medium', далее хочу уменшить размер с помощъю css чтобы при использовании скрипта highslide фото увеличвалась при клике.
Сейчас прописан стиль .usr_img.
Или как можно для {$usr.avatar} назначить разные стили, размеры для каждого модуля отдельно, имея 'medium'вместо 'small'?
$usr['avatar'] = usrImageNOdb($usr['id'], 'medium', $usr['imageurl'], $usr['is_deleted']);
Пример тут test.babayan.ca/users/alexbabo1972, жмём на аватарку и на фото в модуле, они увеличиваются, в профиле и в модуле указано, в обеих случаях для {$usr.avatar} указан "medium", в модуле надо с помощъю css уменшить фото.
Например в модуле последнии регистрации (mod_lastreg)
откуда вы берете 'medium' ?
$usr['avatar'] = usrImageNOdb($usr['id'], 'medium', $usr['imageurl'], $usr['is_deleted']);
было 'small' сменил на 'medium', и теперь фотки большие, и в профиле пользователя сменил также в фронтенде, но мне нужно чтоб в профиле и модуле при 'medium' дать разные размеры фоткам.
Если хотите добавить редактируйте саму функцию:
function usrImageNOdb($user_id, $small='small', $usr_imageurl, $usr_is_deleted){ if ($user_id == -1) { return '<img border="0" class="usr_img_small" src="/images/messages/update.jpg" />'; } if ($user_id == -2) { return '<img border="0" class="usr_img_small" src="/images/messages/massmail.jpg" />'; } if ($usr_imageurl){ if($usr_is_deleted){ if ($small=='small'){ return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/noprofile.jpg" />'; } else { return '<img border="0" class="usr_img" src="/images/users/avatars/noprofile.jpg" />'; } } else { if ($usr_imageurl && @file_exists($_SERVER['DOCUMENT_ROOT'].'/images/users/avatars/'.$usr_imageurl)){ if ($small=='small'){ return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/'.$usr_imageurl.'" />'; } else { return '<img border="0" class="usr_img" src="/images/users/avatars/'.$usr_imageurl.'" />'; } } else { if ($small=='small'){ return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/nopic.jpg" />'; } else { return '<img border="0" class="usr_img" src="/images/users/avatars/nopic.jpg" />'; } } } } else { if ($small=='small'){ return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/nopic.jpg" />'; } else { return '<img border="0" class="usr_img" src="/images/users/avatars/nopic.jpg" />'; } } }
у функции usrImageNOdb нет такого параметра 'medium' есть 'small', тогда загружается маленький аватар, а если 'small' не указан то большой (оригинал), так что никаких 'medium' в параметрах функции нет.
Если хотите добавить редактируйте саму функцию:
добавив параметр 'medium' и условия для него, размер можно задавать в теге
function usrImageNOdb($user_id, $small='small', $usr_imageurl, $usr_is_deleted){ if ($user_id == -1) { return ''; } if ($user_id == -2) { return ''; } if ($usr_imageurl){ if($usr_is_deleted){ if ($small=='small'){ return ''; } else { return ''; } } else { if ($usr_imageurl && @file_exists($_SERVER['DOCUMENT_ROOT'].'/images/users/avatars/'.$usr_imageurl)){ if ($small=='small'){ return ''; } else { return ''; } } else { if ($small=='small'){ return ''; } else { return ''; } } } } else { if ($small=='small'){ return ''; } else { return ''; } } }
Спасибо большое за быстрыи ответ, но к сожалению я не програмист и не знаю как это проделать, несколько дней старался методом научного тыка, но не смог добавить параметр, подксажите пожайлуста как надо или где можно прочитать как добавить параметр.Спасибо
function usrImageNOdb($user_id, $small='small', $usr_imageurl, $usr_is_deleted, $width=''){ if ($user_id == -1) { return '<img border="0" class="usr_img_small" src="/images/messages/update.jpg" />'; } if ($user_id == -2) { return '<img border="0" class="usr_img_small" src="/images/messages/massmail.jpg" />'; } if ($usr_imageurl){ if($usr_is_deleted){ if ($small=='small'){ return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/noprofile.jpg" />'; } else { return '<img border="0" class="usr_img" width="$width" src="/images/users/avatars/noprofile.jpg" />'; } } else { if ($usr_imageurl && @file_exists($_SERVER['DOCUMENT_ROOT'].'/images/users/avatars/'.$usr_imageurl)){ if ($small=='small'){ return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/'.$usr_imageurl.'" />'; } else { return '<img border="0" class="usr_img" width="$width" src="/images/users/avatars/'.$usr_imageurl.'" />'; } } else { if ($small=='small'){ return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/nopic.jpg" />'; } else { return '<img border="0" class="usr_img" width="$width" src="/images/users/avatars/nopic.jpg" />'; } } } } else { if ($small=='small'){ return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/nopic.jpg" />'; } else { return '<img border="0" class="usr_img" width="$width" src="/images/users/avatars/nopic.jpg" />'; } } }
замените код функции на приведенный и в нужном месте при вызове используйте:
usrImageNOdb($user_id, $small='', $usr_imageurl, $usr_is_deleted, $width='128px')
то есть параметр $small пустой а ширину $width задаёте в пикселах нужную вам
или тот пример что в начальном посте:
$usr['avatar'] = usrImageNOdb($usr['id'], '', $usr['imageurl'], $usr['is_deleted'], $width='128px');
предлагаю более универсальное решение (добавил параметр $width)
function usrImageNOdb($user_id, $small='small', $usr_imageurl, $usr_is_deleted, $width=''){ if ($user_id == -1) { return ''; } if ($user_id == -2) { return ''; } if ($usr_imageurl){ if($usr_is_deleted){ if ($small=='small'){ return ''; } else { return ''; } } else { if ($usr_imageurl && @file_exists($_SERVER['DOCUMENT_ROOT'].'/images/users/avatars/'.$usr_imageurl)){ if ($small=='small'){ return ''; } else { return ''; } } else { if ($small=='small'){ return ''; } else { return ''; } } } } else { if ($small=='small'){ return ''; } else { return ''; } } }
замените код функции на приведенный и в нужном месте при вызове используйте:
usrImageNOdb($user_id, $small='', $usr_imageurl, $usr_is_deleted, $width='128px')
то есть параметр $small пустой а ширину $width задаёте в пикселах нужную вам
или тот пример что в начальном посте:
$usr['avatar'] = usrImageNOdb($usr['id'], '', $usr['imageurl'], $usr['is_deleted'], $width='128px');
Спасибо за ответ, делаю как вы сказали но размер остается такой же.Заменяю функцию в /components/users/includes/usercore и в модуле меняю на $usr['avatar'] = usrImageNOdb($usr['id'], '', $usr['imageurl'], $usr['is_deleted'], $width='128px');
Что не так делаю?
Модуль Последние рагистрации, mod_lastreg.
модуль какой?
я его переделал на случайного одного пользователя.
$usr['avatar'] = usrImageNOdb($usr['id'], $small=' ', $usr['imageurl'], $usr['is_deleted'], $width="128px");
function usrImageNOdb($user_id, $small='small', $usr_imageurl, $usr_is_deleted, $width=''){ if ($user_id == -1) { return '<img border="0" class="usr_img_small" src="/images/messages/update.jpg" />'; } if ($user_id == -2) { return '<img border="0" class="usr_img_small" src="/images/messages/massmail.jpg" />'; } if ($usr_imageurl){ if($usr_is_deleted){ if ($small=='small'){ return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/noprofile.jpg" />'; } else { return '<img border="0" class="usr_img" width="'.$width.'" src="/images/users/avatars/noprofile.jpg" />'; } } else { if ($usr_imageurl && @file_exists($_SERVER['DOCUMENT_ROOT'].'/images/users/avatars/'.$usr_imageurl)){ if ($small=='small'){ return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/'.$usr_imageurl.'" />'; } else { return '<img border="0" class="usr_img" width="'.$width.'" src="/images/users/avatars/'.$usr_imageurl.'" />'; } } else { if ($small=='small'){ return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/nopic.jpg" />'; } else { return '<img border="0" class="usr_img" width="'.$width.'" src="/images/users/avatars/nopic.jpg" />'; } } } } else { if ($small=='small'){ return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/nopic.jpg" />'; } else { return '<img border="0" class="usr_img" width="'.$width.'" src="/images/users/avatars/nopic.jpg" />'; } } }
нет, извиняюсь, саму функцию исправьте:
function usrImageNOdb($user_id, $small='small', $usr_imageurl, $usr_is_deleted, $width=''){ if ($user_id == -1) { return ''; } if ($user_id == -2) { return ''; } if ($usr_imageurl){ if($usr_is_deleted){ if ($small=='small'){ return ''; } else { return ''; } } else { if ($usr_imageurl && @file_exists($_SERVER['DOCUMENT_ROOT'].'/images/users/avatars/'.$usr_imageurl)){ if ($small=='small'){ return ''; } else { return ''; } } else { if ($small=='small'){ return ''; } else { return ''; } } } } else { if ($small=='small'){ return ''; } else { return ''; } } }
Не помогло.Может потому что размер прописан в css,class="usr_img"?
У меня в css,class="usr_img" для аватара стоит 200px.
у меня всё работает, даже так:
$usr['avatar'] = usrImageNOdb($usr['id'], '', $usr['imageurl'], $usr['is_deleted'], '128px');
нет прямое указание в теге приоритетнее остальных правил
у меня всё работает, даже так:
$usr['avatar'] = usrImageNOdb($usr['id'], '', $usr['imageurl'], $usr['is_deleted'], '128px');
Видимо я делаю что то не правильно, я пользуюсь версией 1.7.
Вы не могли бы мне послать или тут поставить ваши файлы? (usercore,mod_lastreg)