Искать  
 
   
 
Рейтинг авторов сайта
Отправлено: 17 Август 2008 12:20 A.M.   [ Игнорировать ]
Студент
RankRank
Всего сообщений:  91
Зарегистрирован  2008-01-02

Мне понадобилать такая фича чтобы на в определенном блоке выводился рейтинг авторов сайта, нашел на оф.форуме, на 1.6.2 работает:

{exp:query sql="SELECT member_id, screen_name, email, url, COUNT(exp_weblog_titles.author_id) AS count
FROM exp_members
INNER JOIN exp_weblog_titles ON (exp_weblog_titles.author_id = exp_members.member_id)
INNER JOIN exp_weblogs ON (exp_weblogs.weblog_id = exp_weblog_titles.weblog_id)
GROUP BY author_id
ORDER BY count DESC, screen_name DESC
LIMIT 0,10"
}
{screen_name} 
{count}<br />
{/exp:query} 

Плагин выводит Имя автора и рядом его позицию в топе.

Профиль
 
 
Отправлено: 17 Август 2008 12:26 A.M.   [ Игнорировать ]   [ # 1 ]
Студент
RankRank
Всего сообщений:  91
Зарегистрирован  2008-01-02

Может кто подскажет как вывести рядом колличество постов автора?

Профиль
 
 
Отправлено: 17 Август 2008 12:06 P.M.   [ Игнорировать ]   [ # 2 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

Да практически так же smile

{exp:query sql="SELECT member_id, screen_name, email, url, COUNT(exp_weblog_titles.author_id) AS count_post
FROM exp_members
INNER JOIN exp_weblog_titles ON (exp_weblog_titles.author_id = exp_members.member_id)
INNER JOIN exp_weblogs ON (exp_weblogs.weblog_id = exp_weblog_titles.weblog_id)
GROUP BY author_id
ORDER BY count_post DESC, screen_name DESC
LIMIT 0,10"
}
{count} 
{screen_name} {count_post}<br />
{/exp:query} 
 Подпись 

booooring…

Профиль
 
 
Отправлено: 23 Август 2008 10:22 P.M.   [ Игнорировать ]   [ # 3 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  1423
Зарегистрирован  2007-12-27

Это за все время, а как сделать подсчет за месяц/неделю/день

 Подпись 

ExpressionEngine - SEO-ориентированный движок

Профиль
 
 
Отправлено: 23 Август 2008 11:31 P.M.   [ Игнорировать ]   [ # 4 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

с ограничениями по датам мы уже “проходили”... по-моему с выводом новых мемберов, еще на нулледе.  Просто надо добавить WHEN и соответствующее ограничение.
что-то вроде такого:

{exp:query sql="SELECT member_id, screen_name, email, url, COUNT(exp_weblog_titles.author_id) AS count_post
FROM exp_members
INNER JOIN exp_weblog_titles ON (exp_weblog_titles.author_id = exp_members.member_id)
INNER JOIN exp_weblogs ON (exp_weblogs.weblog_id = exp_weblog_titles.weblog_id)
WHERE exp_weblog_titles.entry_date >=UNIX_TIMESTAMP(DATE_SUB(CURDATE(),INTERVAL 30 DAY)) AND exp_weblog_titles.entry_date <= UNIX_TIMESTAMP()
GROUP BY author_id
ORDER BY count_post DESC, screen_name DESC
LIMIT 0,10"
}
{count} 
{screen_name} {count_post}<br />
{/exp:query} 

Не сможешь сделать до понедельника - пиши, я подключусь.

 Подпись 

booooring…

Профиль
 
 
Отправлено: 23 Август 2008 11:41 P.M.   [ Игнорировать ]   [ # 5 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  1423
Зарегистрирован  2007-12-27

Error Number: 1064

Description: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘WHEN exp_weblog_titles.entry_date >=UNIX_TIMESTAMP(DATE_SUB(CURDATE(),INTERVAL 3’ at line 1

 Подпись 

ExpressionEngine - SEO-ориентированный движок

Профиль
 
 
Отправлено: 24 Август 2008 12:17 A.M.   [ Игнорировать ]   [ # 6 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

я же набиваю на память (без тестирования), мог бы и поправить smile - я там вместо WHERE набил WHEN wink Ассоциативная память сработала...

 Подпись 

booooring…

Профиль
 
 
Отправлено: 24 Август 2008 02:53 A.M.   [ Игнорировать ]   [ # 7 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  1423
Зарегистрирован  2007-12-27

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

 Подпись 

ExpressionEngine - SEO-ориентированный движок

Профиль
 
 
Отправлено: 13 Апрель 2009 11:34 P.M.   [ Игнорировать ]   [ # 8 ]
Студент
RankRank
Всего сообщений:  91
Зарегистрирован  2008-01-02

У меня сайт разделен на 3 части (блога)... Этот вариант будет выводить топ авторов всех блогов?

Профиль
 
 
Отправлено: 13 Апрель 2009 11:51 P.M.   [ Игнорировать ]   [ # 9 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

А Вы тестировали?
Я вроде не вижу в коде ограничений на блоги. Так что да, 99% на то,  что будет выводить авторство по всем веблогам.

 Подпись 

booooring…

Профиль
 
 
Отправлено: 13 Апрель 2009 11:57 P.M.   [ Игнорировать ]   [ # 10 ]
Студент
RankRank
Всего сообщений:  91
Зарегистрирован  2008-01-02

Я тестировал на другом сайте, с одним блогом... Как думаете может удалить стоит удалить из кода {count} и все что с ним связано, и реализовать нумерацию при помощи <ol><li></li></ol>, по идее и запросов к базе поубавиться... ?

Профиль
 
 
Отправлено: 14 Апрель 2009 12:04 A.M.   [ Игнорировать ]   [ # 11 ]
Студент
RankRank
Всего сообщений:  91
Зарегистрирован  2008-01-02

Еще может подскажете как организовать рейтинг Комментаторов?

Профиль
 
 
Отправлено: 15 Апрель 2009 01:48 P.M.   [ Игнорировать ]   [ # 12 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  891
Зарегистрирован  2008-01-07
xmaker - 14 Апрель 2009 12:04 A.M.

Еще может подскажете как организовать рейтинг Комментаторов?

посмотри
http://expressionengine.com/downloads/details/comment_leaders/
и
http://www.miasmaofmusings.com/index.php/weblog/dl_bl/

Профиль