Случайный аватар для пользователей без главного фото

+16
3.3K
Небольшой хак, для тех случаев когда у пользователя нет аватара, и когда таких пользователей много, что бы список этих самых пользователей не смотрелся так однообразно.
core/user.class.php



  1. // пользователь без аватара
  2. if (!$file_name || !file_exists(PATH.'/images/users/avatars/'.$file_name)){
  3.  
  4. if ($size == 'small'){
  5. return '/images/users/avatars/small/nopic.jpg';
  6. } else {
  7. return '/images/users/avatars/nopic.jpg';
  8. }
  9.  
  10. }
заменить на это


  1. // пользователь без аватара
  2. if (!$file_name || !file_exists(PATH.'/images/users/avatars/'.$file_name)){
  3.  
  4. if ($size == 'small'){
  5. return '/templates/_default_/nopic/'.mt_rand(1,5).'.png';
  6.  
  7. } else {
  8. return '/templates/_default_/nopic/'.mt_rand(1,5).'.png';
  9. }
  10.  
  11. }

Теперь если у пользователя нет аватара, система ищет не один и тот же файл nopic а случайным образом выбирает из набора заглушек.
В моём случае их пять штук, они носят имена: 1.png, 2.png, 3.png и т. д. и находятся в папке /templates/_default_/nopic/

Вроде мелочь что бы постить в блог) но ранее применял это на одном из сайтов, сейчас решил поставить на другое этот вариант, пришлось вспоминать в каком файле что правил. Тут найти быстрее будет в след раз)

Особенность данного метода в том, что у одного и того же пользователя аватар будет разным каждый раз при обновлении страницы (пока он не установит свой) меня это устраивает.
0
Странник Странник 8 лет назад #
Отлично! Давно просилось.
Олег Васильевич я Олег Васильевич я 8 лет назад #
Комментарий удален
0
Нил™ Нил™ 8 лет назад #
Можно и в шаблоне, но плюс этого варианта в том, что будет действовать сразу во всех местах где аватар, а если через шаблон, то их много где аватар может выводиться. К тому же изменение в файле минимальное..
Олег Васильевич я Олег Васильевич я 8 лет назад #
Комментарий удален
0
Нил™ Нил™ 8 лет назад #
Если бы вы это сказали , вы бы согрешили против истины)) . Я же пользуясь, уже кому то нужен)
Олег Васильевич я Олег Васильевич я 8 лет назад #
Комментарий удален
+1
Странник Странник 8 лет назад #
Позволь совет, дружище. После строчки
Код TPL:
  1. {math assign="a" equation=rand(1,5)}
пишем
<img src="/images/users/avatars/nopic{$a}.jpg" alt="бла-бла" />
а рисункам в папке присваиваем соответственно nopic1.jpg, nopic2.jpg....nopic5.jpg
Не нужно этой елки с elseif )))))
Олег Васильевич я Олег Васильевич я 8 лет назад #
Комментарий удален
0
noname noname 3 года назад #

Ребята! Как такое сделать да 2.14.2 модерн ?  

Еще от автора

Капча на сайт или разделы сайта
Если нужно, закрыть весь сайт или некоторые его разделы каптчей.
Пинг поисковых систем для первой ветки
Небольшая интеграция инструментов для пингования, чтобы сделать его чуть удобнее
Генератор карты сайта в формате txt на лету без крона
Вообще то где то тут уже есть вполне рабочие генераторы карты для первой ветки, но этот вариант тоже имеет право быть.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.