Как использовать в разных модулях {$usr.avatar} при этом назначив разные стили и размеры?

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО

Как использовать в разных модулях {$usr.avatar} при этом назначив разные стили и размеры?

#1 27 мая 2011 в 06:11
Как использовать в разных модулях {$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 уменшить фото.
#2 27 мая 2011 в 06:33
откуда вы берете 'medium'?
#3 27 мая 2011 в 06:41


откуда вы берете 'medium' ?

• Mike •
Например в модуле последнии регистрации (mod_lastreg)
$usr['avatar'] = usrImageNOdb($usr['id'], 'medium', $usr['imageurl'], $usr['is_deleted']);
было 'small' сменил на 'medium', и теперь фотки большие, и в профиле пользователя сменил также в фронтенде, но мне нужно чтоб в профиле и модуле при 'medium' дать разные размеры фоткам.
#4 27 мая 2011 в 16:13
у функции usrImageNOdb нет такого параметра 'medium' есть 'small', тогда загружается маленький аватар, а если 'small' не указан то большой (оригинал), так что никаких 'medium' в параметрах функции нет.
Если хотите добавить редактируйте саму функцию:
  1.  
  2. function usrImageNOdb($user_id, $small='small', $usr_imageurl, $usr_is_deleted){
  3. if ($user_id == -1) { return '<img border="0" class="usr_img_small" src="/images/messages/update.jpg" />'; }
  4. if ($user_id == -2) { return '<img border="0" class="usr_img_small" src="/images/messages/massmail.jpg" />'; }
  5.  
  6. if ($usr_imageurl){
  7. if($usr_is_deleted){
  8. if ($small=='small'){
  9. return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/noprofile.jpg" />';
  10. } else {
  11. return '<img border="0" class="usr_img" src="/images/users/avatars/noprofile.jpg" />';
  12. }
  13. } else {
  14. if ($usr_imageurl && @file_exists($_SERVER['DOCUMENT_ROOT'].'/images/users/avatars/'.$usr_imageurl)){
  15. if ($small=='small'){
  16. return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/'.$usr_imageurl.'" />';
  17. } else {
  18. return '<img border="0" class="usr_img" src="/images/users/avatars/'.$usr_imageurl.'" />';
  19. }
  20. } else {
  21. if ($small=='small'){ return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/nopic.jpg" />';
  22. } else { return '<img border="0" class="usr_img" src="/images/users/avatars/nopic.jpg" />'; }
  23. }
  24. }
  25. } else {
  26. if ($small=='small'){ return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/nopic.jpg" />';
  27. } else { return '<img border="0" class="usr_img" src="/images/users/avatars/nopic.jpg" />'; }
  28. }
  29. }
  30.  
добавив параметр 'medium' и условия для него, размер можно задавать в теге <img… width="XXpx" height="XXpx" />
#5 2 июня 2011 в 09:51


у функции usrImageNOdb нет такого параметра 'medium' есть 'small', тогда загружается маленький аватар, а если 'small' не указан то большой (оригинал), так что никаких 'medium' в параметрах функции нет.
Если хотите добавить редактируйте саму функцию:

  1.  
  2. function usrImageNOdb($user_id, $small='small', $usr_imageurl, $usr_is_deleted){
  3. if ($user_id == -1) { return ''; }
  4. if ($user_id == -2) { return ''; }
  5.  
  6. if ($usr_imageurl){
  7. if($usr_is_deleted){
  8. if ($small=='small'){
  9. return '';
  10. } else {
  11. return '';
  12. }
  13. } else {
  14. if ($usr_imageurl && @file_exists($_SERVER['DOCUMENT_ROOT'].'/images/users/avatars/'.$usr_imageurl)){
  15. if ($small=='small'){
  16. return '';
  17. } else {
  18. return '';
  19. }
  20. } else {
  21. if ($small=='small'){ return '';
  22. } else { return ''; }
  23. }
  24. }
  25. } else {
  26. if ($small=='small'){ return '';
  27. } else { return ''; }
  28. }
  29. }
  30.  
добавив параметр 'medium' и условия для него, размер можно задавать в теге

• Mike •

Спасибо большое за быстрыи ответ, но к сожалению я не програмист и не знаю как это проделать, несколько дней старался методом научного тыка, но не смог добавить параметр, подксажите пожайлуста как надо или где можно прочитать как добавить параметр.Спасибо
#6 2 июня 2011 в 14:53
  1.  
  2. function usrImageNOdb($user_id, $small='small', $usr_imageurl, $usr_is_deleted, $width=''){
  3. if ($user_id == -1) { return '<img border="0" class="usr_img_small" src="/images/messages/update.jpg" />'; }
  4. if ($user_id == -2) { return '<img border="0" class="usr_img_small" src="/images/messages/massmail.jpg" />'; }
  5.  
  6. if ($usr_imageurl){
  7. if($usr_is_deleted){
  8. if ($small=='small'){
  9. return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/noprofile.jpg" />';
  10. } else {
  11. return '<img border="0" class="usr_img" width="$width" src="/images/users/avatars/noprofile.jpg" />';
  12. }
  13. } else {
  14. if ($usr_imageurl && @file_exists($_SERVER['DOCUMENT_ROOT'].'/images/users/avatars/'.$usr_imageurl)){
  15. if ($small=='small'){
  16. return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/'.$usr_imageurl.'" />';
  17. } else {
  18. return '<img border="0" class="usr_img" width="$width" src="/images/users/avatars/'.$usr_imageurl.'" />';
  19. }
  20. } else {
  21. if ($small=='small'){ return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/nopic.jpg" />';
  22. } else { return '<img border="0" class="usr_img" width="$width" src="/images/users/avatars/nopic.jpg" />'; }
  23. }
  24. }
  25. } else {
  26. if ($small=='small'){ return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/nopic.jpg" />';
  27. } else { return '<img border="0" class="usr_img" width="$width" src="/images/users/avatars/nopic.jpg" />'; }
  28. }
  29. }
  30.  
предлагаю более универсальное решение (добавил параметр $width)
замените код функции на приведенный и в нужном месте при вызове используйте:
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');
#7 2 июня 2011 в 16:32


  1.  
  2. function usrImageNOdb($user_id, $small='small', $usr_imageurl, $usr_is_deleted, $width=''){
  3. if ($user_id == -1) { return ''; }
  4. if ($user_id == -2) { return ''; }
  5.  
  6. if ($usr_imageurl){
  7. if($usr_is_deleted){
  8. if ($small=='small'){
  9. return '';
  10. } else {
  11. return '';
  12. }
  13. } else {
  14. if ($usr_imageurl && @file_exists($_SERVER['DOCUMENT_ROOT'].'/images/users/avatars/'.$usr_imageurl)){
  15. if ($small=='small'){
  16. return '';
  17. } else {
  18. return '';
  19. }
  20. } else {
  21. if ($small=='small'){ return '';
  22. } else { return ''; }
  23. }
  24. }
  25. } else {
  26. if ($small=='small'){ return '';
  27. } else { return ''; }
  28. }
  29. }
  30.  
предлагаю более универсальное решение (добавил параметр $width)
замените код функции на приведенный и в нужном месте при вызове используйте:
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');

• Mike •

Спасибо за ответ, делаю как вы сказали но размер остается такой же.Заменяю функцию в /components/users/includes/usercore и в модуле меняю на $usr['avatar'] = usrImageNOdb($usr['id'], '', $usr['imageurl'], $usr['is_deleted'], $width='128px');
Что не так делаю?
#8 2 июня 2011 в 16:50
модуль какой?
#9 2 июня 2011 в 17:03


модуль какой?

• Mike •
Модуль Последние рагистрации, mod_lastreg.
я его переделал на случайного одного пользователя.
#10 2 июня 2011 в 17:28
  1.  
  2. $usr['avatar'] = usrImageNOdb($usr['id'], $small=' ', $usr['imageurl'], $usr['is_deleted'], $width="128px");
  3.  
вот так попробуйте…
#11 2 июня 2011 в 17:43
нет, извиняюсь, саму функцию исправьте:
  1.  
  2. function usrImageNOdb($user_id, $small='small', $usr_imageurl, $usr_is_deleted, $width=''){
  3. if ($user_id == -1) { return '<img border="0" class="usr_img_small" src="/images/messages/update.jpg" />'; }
  4. if ($user_id == -2) { return '<img border="0" class="usr_img_small" src="/images/messages/massmail.jpg" />'; }
  5.  
  6. if ($usr_imageurl){
  7. if($usr_is_deleted){
  8. if ($small=='small'){
  9. return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/noprofile.jpg" />';
  10. } else {
  11. return '<img border="0" class="usr_img" width="'.$width.'" src="/images/users/avatars/noprofile.jpg" />';
  12. }
  13. } else {
  14. if ($usr_imageurl && @file_exists($_SERVER['DOCUMENT_ROOT'].'/images/users/avatars/'.$usr_imageurl)){
  15. if ($small=='small'){
  16. return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/'.$usr_imageurl.'" />';
  17. } else {
  18. return '<img border="0" class="usr_img" width="'.$width.'" src="/images/users/avatars/'.$usr_imageurl.'" />';
  19. }
  20. } else {
  21. if ($small=='small'){ return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/nopic.jpg" />';
  22. } else { return '<img border="0" class="usr_img" width="'.$width.'" src="/images/users/avatars/nopic.jpg" />'; }
  23. }
  24. }
  25. } else {
  26. if ($small=='small'){ return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/nopic.jpg" />';
  27. } else { return '<img border="0" class="usr_img" width="'.$width.'" src="/images/users/avatars/nopic.jpg" />'; }
  28. }
  29. }
  30.  
#12 2 июня 2011 в 23:46


нет, извиняюсь, саму функцию исправьте:

  1.  
  2. function usrImageNOdb($user_id, $small='small', $usr_imageurl, $usr_is_deleted, $width=''){
  3. if ($user_id == -1) { return ''; }
  4. if ($user_id == -2) { return ''; }
  5.  
  6. if ($usr_imageurl){
  7. if($usr_is_deleted){
  8. if ($small=='small'){
  9. return '';
  10. } else {
  11. return '';
  12. }
  13. } else {
  14. if ($usr_imageurl && @file_exists($_SERVER['DOCUMENT_ROOT'].'/images/users/avatars/'.$usr_imageurl)){
  15. if ($small=='small'){
  16. return '';
  17. } else {
  18. return '';
  19. }
  20. } else {
  21. if ($small=='small'){ return '';
  22. } else { return ''; }
  23. }
  24. }
  25. } else {
  26. if ($small=='small'){ return '';
  27. } else { return ''; }
  28. }
  29. }
  30.  

• Mike •

Не помогло.Может потому что размер прописан в css,class="usr_img"?
У меня в css,class="usr_img" для аватара стоит 200px.
#13 3 июня 2011 в 00:15
нет прямое указание в теге приоритетнее остальных правил
у меня всё работает, даже так:
  1. $usr['avatar'] = usrImageNOdb($usr['id'], '', $usr['imageurl'], $usr['is_deleted'], '128px');
  2.  
#14 3 июня 2011 в 01:20


нет прямое указание в теге приоритетнее остальных правил
у меня всё работает, даже так:

  1. $usr['avatar'] = usrImageNOdb($usr['id'], '', $usr['imageurl'], $usr['is_deleted'], '128px');
  2.  

• Mike •

Видимо я делаю что то не правильно, я пользуюсь версией 1.7.
Вы не могли бы мне послать или тут поставить ваши файлы? (usercore,mod_lastreg)
#15 3 июня 2011 в 02:07
мои файлы вам не подойдут я пользуюсь версией 1.8 и у меня всё переписано под смарти 3,0,7 скачайте архив 1.8 и сравните файлы модуля оттуда со своими
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.