top user

Доброго времени суток.
Пытаюсь вывести в header_top 5 лучших по рейтингу пользователей.
В header_top.tpl прописал

{foreach from=$aUsersRating item=oUser}
<td class="user"><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oUser->getLogin()}/"><img src="{$oUser->getProfileAvatarPath(64)}" alt="" /></a></td>										{/foreach}


в ActionIndex.class.php

Добавил
в init
$this->SetDefaultEvent('good');

в event
$this->AddEvent('good','EventGood');

и экшены соотвествующие.

В индексе это все заработало…
У меня вопрос чтоб это работало в остальных классах нужно везде добавить??

Или же есть другой путь? просто править все классы это долго… может есть шаблон?

19 комментариев

avatar
а вот можна, если не сложно, поподробней чего как и где
вы добавили для реализации

хочу сделать на главной вывод трех первых юзеров из рейтинга, кроме одного
avatar
можно через php запросом к бд mysql, я лично так сделал.
avatar
а посмотреть можно??
avatar
Хак, с помощью которого можно вывести топ пользователей. Для этого копируем данный код. Заменяем имя, пароль, название БД на ваше. По стандарту выводится Топ 10, если хотите изменить число, то после DESC LIMIT цифру 10 замените на число, нужное вам. Сохраняем и вуаля! :)
{php}
	$db = mysql_connect("localhost","имя","пароль");
	mysql_select_db("имяБД" ,$db);
	$sql = mysql_query("SELECT * FROM prefix_user ORDER BY user_rating DESC LIMIT 0,10" ,$db);
	while ($tablerows = mysql_fetch_row($sql))
	{
	echo("<a href='http://{$DIR_WEB_ROOT}/profile/$tablerows[1]/'>$tablerows[1]</a>
");
	}
	mysql_close($db);
{/php}
Если чем-то помог, плюсаните плз в профиле :)
avatar
ах да, так у вас будет выводиться в строку, если хотите чтобы в столбик, то после
<a href='http://{$DIR_WEB_ROOT}/profile/$tablerows[1]/'>$tablerows[1]</a>
поставьте тег br
avatar
ой спасибо
попробую хоть так

пусть хоть обкричатся, что грязно
ну не все так хорошо понимают php

зато каждый горазд сказать «что за гомно» и ничего не предложить лучше

avatar
а из переменных конфига нельзя разве выхватить коннекты.
по-хорошему бы это на хук подвесить. в шаблоны пхп пихать очень некрасиво
avatar
все молчали, я предложил один из вариантов…
avatar
грязный хак… очень грязный. нестоит такое использовать в рабочей версии своего сайта.
Почему нельзя выдернуть код отсюда то? — livestreet.ru/people/ всё же готовое есть уже. топ лучших, отрезать только лишних чтоб было столько сколько вам нужно и все.
будет ночью время если напишу что дернуть и как отрезать. надеюсь ктонить раньше напишет =))
avatar
то что я наверху сделал это и есть, только мне в лом все классы править…
мне нужно чтоб не только на главном это работало а везде в хеадере было…
avatar
ну хедер у тебя ко всем без исключения страницам подключен какбы. невижу проблемы.
а то что ты сделал сверху это грязный хак с выполнением пхп внутри темплейта.
avatar
ах сори хак то не у вас совсем а у lacett1 =)) сори
avatar
а добавление в хедер эвента и инита это не выполнение пхп в темплейте?
avatar
а зачем инит и эвент в хедер пихать то? в хедере у тебя только смарти должнобыть =)
обещял ночью написать но напишу с утра, запарился кодить сегодня уже.
avatar
Подскажите как подцепить коннект к базе из самого движка не плодя каждый раз новый?
avatar
в идеале хотелось бы увидеть еще вариант с хуком.

off: А где можно прочитать, что такое ХУК и с чем его едять?
avatar
livestreet.ru/search/topics/?q=hooks думаю поиск всеже рулит и педалит…
avatar
это все видели. но там написано на языке программистов для программистов. хочется простой пример да хотя бы на основе вот этой вот топ5 фигни
avatar
+ 100500
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.