Показ новой фотографии друга в профиле

+19
1.35K
Для тех кому важно видеть движуху друзей!
Наверное у многих на сайте стоит в профиле вкладка "Лента", ну или кто как обозвал :)
Очень не понравилось мне отображение последних фотографий друзей (почему-то они все выводятся из альбома).
Хотя судя по всему было бы интересней если показывалось, что загружают к себе в профиль.
И так начнем!
шаг 1: Качаем файл и закидываем его "core/js/main.js"
шаг 2: Открываем ваш файл стилей и вписываем

  1. #screenshot{background: #f6f6f6; border: 1px solid #ccc; color: #000; display: none; padding: 5px; position: absolute;}
и редактируем, если не устраивает вывод фото
шаг 3: Открываем templates\Ваш шаблон\components\com_users_profile.tpl
и в самом начале вписываем
  1. {add_js file="core/js/main.js"}
шаг 4: Идем в вкладку лента и заменяем что было между <tr> и </tr> на вот это
  1. <tr>
  2. <td class="date">{$photo.pubdate}</td>
  3. <td>
  4. <a href="{profile_url login=$photo.login}" class="nickname">{$photo.nickname}</a> &#8594;
  5. <a href="/users/{$photo.user_id}/photo{$photo.id}.html" class="screenshot" rel="/images/users/photos/medium/{$photo.file}" >{$photo.title}</a>
  6. </td>
  7. </tr>
Для тех кто, хочет видеть превью, а не всплывающие фото нужно заменить этим куском кода laugh
  1. <tr>
  2. <td class="date">{$photo.pubdate}</td>
  3. <td>
  4. <a href="{profile_url login=$photo.login}" class="nickname">{$photo.nickname}</a> &#8594;
  5. <a href="/users/{$photo.user_id}/photo{$photo.id}.html" > <img src="/images/users/photos/medium/{$photo.file}" /></a>
  6. </td>
  7. </tr>
и соответственно не нужно подключать скрипт
шаг 5: Открываем core\classes\user.class.php, находим функцию getUserFriendsPhotos и заменяем ее
  1. public static function getUserFriendsPhotos($user_id, $limit=10){
  2. $inDB = cmsDatabase::getInstance();
  3. $inCore = cmsCore::getInstance();
  4. $friends = self::getFriends($user_id);
  5. if (!$friends) { return false; }
  6. $friends_sql = '';
  7. foreach($friends as $id=>$friend){
  8. $friends_sql .= 'u.id = '.$friend['id'];
  9. if ($id < sizeof($friends)-1){ $friends_sql .= ' OR '; }
  10. }
  11. $sql = "SELECT DISTINCT p.id, p.title, p.user_id, p.imageurl as file, u.id as user_id, u.nickname as nickname, u.login as login,
  12. IF(DATE_FORMAT(p.pubdate, '%d-%m-%Y')=DATE_FORMAT(NOW(), '%d-%m-%Y'), DATE_FORMAT(p.pubdate, '<strong>Cегодня</strong> в %H:%i'),
  13. IF(DATEDIFF(NOW(), p.pubdate)=1, DATE_FORMAT(p.pubdate, 'Вчера в %H:%i'),DATE_FORMAT(p.pubdate, '%d, %M') )) as pubdate
  14. FROM cms_user_photos p, cms_users u
  15. WHERE p.user_id = u.id AND ({$friends_sql})
  16. ORDER BY p.pubdate DESC
  17. ";
  18. if ($limit) { $sql .= 'LIMIT '.$limit; }
  19. $result = $inDB->query($sql);
  20. $photos = array();
  21. if (!$inDB->num_rows($result)){ return false; }
  22. while ($photo = $inDB->fetch_assoc($result)){
  23. $photo['pubdate'] = $inCore->getRusDate($photo['pubdate']);
  24. $photos[] = $photo;
  25. }
  26. return $photos;
  27. }
Иллюстрация
Если все сделано правильно то при наведении на последние фотографии друзей у вас отображается само фото
0
13 лет назад #
а не проще ли было сделать превьюшки?
0
forlord forlord 13 лет назад #
зачем превью? хочешь смотри фото, хочешь читай описание
0
13 лет назад #
ну превью больше привлекает внимание чем описание )
какая бы девушка не была - толстая или красивая )
0
13 лет назад #
можешь с превьяхами просто сделать?
+2
forlord forlord 13 лет назад #
добавил вариант с превью laugh
0
imprint imprint 13 лет назад #
только в надо вместо medium написать small потому что огромные фотки не красиво смотрятся и перед этой строчкой поставить...так красивее будет...
0
imprint imprint 13 лет назад #
Код PHP:
+1
imprint imprint 13 лет назад #
Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст

Еще от автора

Новогодняя распродажа
Фотогалерея для сайта - 2000р http://demo.photoinstant.ru/ Автомобильная доска - 2000р http://auto.forlord.ru/ Подарки для друга - 800р http://demo.
Новая фотогалерея для сайта
Вот и пришло время показать, к чему пришла фотогалерея
Фотогалерея
Дорогие друзья, рад предоставить на Ваш суд очередную фотогалерею для 1.10+ Что же умеет фотогалерея
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.