Бегущая строка с фотками пользователей.
Когда-то, давным-давно, я выкладывал простейший скрипт реализации бегущей строки.
Сегодня мы слегка "усложним" :) данный скрипт и пусть в бегущей строке у нас "бегут" сами пользователи с их фотками.
На какой странице "заставить" их бежать, решать вам.
Для этого:
1. в php файле ставим код:
в самом конце этого же php файла добавляем:
2. В tpl файле ставим в нужное место:
Прошу обратить внимание на строку {section name=user_loop loop=$users max=100}
Чем больше значение "max" тем более долгий запрос будет выполняться к базе. 10-20 самое оптимальное.
3. Аналогичным образом делаем для новеньких:
4. Для последних зарегистрированных на сайте:
Теперь, свою бегущую строку вы можете оформить так, как вам надо (задать направление,цвет фона и т.д. и т.п) ознакомившись со значениями, которые я указал в этой теме...
Удачи!
Обсуждение на форуме...
Сегодня мы слегка "усложним" :) данный скрипт и пусть в бегущей строке у нас "бегут" сами пользователи с их фотками.
На какой странице "заставить" их бежать, решать вам.
Для этого:
1. в php файле ставим код:
// BEGIN CONSTRUCTING BROWSE QUERY
$browse_query = "SELECT se_users.user_id, se_users.user_username, se_users.user_fname, se_users.user_lname, se_users.user_photo FROM se_profilevalues LEFT JOIN se_users ON se_profilevalues.profilevalue_user_id=se_users.user_id LEFT JOIN se_levels ON se_levels.level_id=se_users.user_level_id WHERE se_users.user_verified='1' AND se_users.user_enabled='1' AND (se_users.user_search='1' OR se_levels.level_profile_search='0')";
// GET USERS
$online_users_array = online_users();
$users = $database->database_query($browse_query);
while($user_info = $database->database_fetch_assoc($users))
{
$browse_user = new se_user();
$browse_user->user_info['user_id'] = $user_info['user_id'];
$browse_user->user_info['user_username'] = $user_info['user_username'];
$browse_user->user_info['user_fname'] = $user_info['user_fname'];
$browse_user->user_info['user_lname'] = $user_info['user_lname'];
$browse_user->user_info['user_photo'] = $user_info['user_photo'];
$browse_user->user_displayname();
if(in_array($browse_user->user_info['user_username'], $online_users_array[2])) { $browse_user->is_online = 1; } else { $browse_user->is_online = 0; }
$user_array[] = $browse_user;
}
в самом конце этого же php файла добавляем:
$smarty->assign('users', $user_array);
$smarty->assign('total_users', $total_users);
$smarty->assign('user_withphoto', $user_withphoto);
2. В tpl файле ставим в нужное место:
<marquee>
{section name=user_loop loop=$users max=100}
[url=http://'{$url-]url_create('profile',$users[user_loop]->user_info.user_username)}'>[img]'{$users[user_loop]-[/img]user_photo('./images/nophoto.gif', TRUE)}' class='photo' width='60' height='60' border='0'[/url]
{/section}
... и еще [b]{$total_members}[/b] пользователей!
</marquee>
Прошу обратить внимание на строку {section name=user_loop loop=$users max=100}
Чем больше значение "max" тем более долгий запрос будет выполняться к базе. 10-20 самое оптимальное.
3. Аналогичным образом делаем для новеньких:
<marquee>
{if !empty($signups)}
{section name=signups_loop loop=$signups max=40}
{if !empty($signups[signups_loop])}
[url=http://'{$url-]url_create("profile",$signups[signups_loop]->user_info.user_username)}'>[img]'{$signups[signups_loop]-[/img]user_photo("./images/nophoto.gif", TRUE)}' class='photo' width='60' height='60' border='0' alt='{$signups[signups_loop]->user_displayname|truncate:15:"...":true}' title='{$signups[signups_loop]->user_displayname|truncate:15:"...":true}' />[/url]
{/if}
{/section}
{else}
{lang_print id=667}
{/if}
</marquee>
4. Для последних зарегистрированных на сайте:
<marquee>
{if !empty($logins)}
{section name=login_loop loop=$logins max=20}
{if !empty($logins[login_loop])}
[url=http://'{$url-]url_create("profile",$logins[login_loop]->user_info.user_username)}'>[img]'{$logins[login_loop]-[/img]user_photo("./images/nophoto.gif", TRUE)}' class='photo' width='60' height='60' border='0' alt='{$logins[login_loop]->user_displayname|truncate:15:"...":true}' title='{$logins[login_loop]->user_displayname|truncate:15:"...":true}' />[/url]
{/if}
{if (~$smarty.section.login_loop.index & 1) && $smarty.section.login_loop.last}</tr>{/if}
{/section}
{else}
{lang_print id=672}
{/if}
</marquee>
Теперь, свою бегущую строку вы можете оформить так, как вам надо (задать направление,цвет фона и т.д. и т.п) ознакомившись со значениями, которые я указал в этой теме...
Удачи!
Обсуждение на форуме...