Искать  
 
   
 
Нестандартная сортировка
Отправлено: 22 Июль 2011 09:54 P.M.   [ Игнорировать ]
Member
Avatar
RankRankRank
Всего сообщений:  363
Зарегистрирован  2009-01-02

Всем привет.
День ломаю голову над тем как сделать следующее:
Есть записи, которым 1 день, недели, месяцы и т.д. то есть есть старые записи и новые.
В выводе нужно отсортировать их так, чтобы сверху показывались те записи, которых за прошедшую неделю больше всех прокомментировали.

Есть вот такой вариант:

<?php
global $LOC;
$current_time $LOC->decode_date('%Y-%m-%d %g:%i'$LOC->now 2608400);
?>
{exp
:weblog:entries limit="12" weblog="news" disable="member_data|trackbacks|category_fields|pagination" dynamic="off" orderby="comment_total" start_on="<?php echo $current_time; ?>"}
{title}
{
/exp:weblog:entries} 

НО!  Выводятся те записи, которые добавлены за эту неделю. то есть старые тут не выведутся, а нужно чтобы в условии участвовали ВСЕ записи.

Очень прошу помощи, можно сделать запросом в виде SQL query.

 Подпись 

Я в космосе

Профиль
 
 
Отправлено: 22 Июль 2011 10:07 P.M.   [ Игнорировать ]   [ # 1 ]
Студент
RankRank
Всего сообщений:  131
Зарегистрирован  2010-12-14

Я бы попробовал получить entry_id посредством запроса к БД
Если без разницы какой канал (weblog) то что то типа (для ЕЕ 2.х)

SELECT entry_idsum(1FROM `exp_commentsWHERE comment_date 1287914130 GROUP BY entry_id ORDER BY sum(1DESC LIMIT 10 

Если нужно учитывать channel_id (т.е. weblog_id, судя по всему), то нужно делать join на таблицу exp_channel_titles
А потом результаты запроса писать в

{exp:weblog:entries entry_id="РЕЗУЛЬТАТ_ЗАПРОСА"

Но не понятно как тогда сортировать не по всем парламентариям, а только за последнею неделю...
Может - если указать порядок в entry_id, то он сохранится и на результаты выполнения ? (но вряд ли)

Но вообще тут тогда появляется проблема - как сформировать РЕЗУЛЬТАТ_ЗАПРОСА
В идеале - написать внешний модуль, который бы при помощи php формировал корректный вид, т.е. что то типа “1|2|17|21”

Профиль
 
 
Отправлено: 23 Июль 2011 09:43 P.M.   [ Игнорировать ]   [ # 2 ]
Member
Avatar
RankRankRank
Всего сообщений:  363
Зарегистрирован  2009-01-02

Может кто написать подобный модуль? Платно.

 Подпись 

Я в космосе

Профиль