Регистрация
Вход через соцсети
Восстановление пароля

Сортировка выборки тега

Новый топик
10.03.2012, 14:56
Ответить | Цитировать
Дмитрий

Зарегистрирован:
2012-02-14
Сообщений: 10

День добрый, интересует вопрос, Каким образом можно в выборке тега поставить сортировку элементов по дате?
Код:
$f_AdminCommon";

# получаем данные

list($mess_array_all, $tagText) = nc_tag_cloud_show_result($tag, $tagsub, $tagcc);

# выводим нужные сообщения

$totRows = count($mess_array_all);

$cc_env['totRows'] = $totRows;

if($tag && $mess_array_all) {

$messCount = 1;

unset($mess_array);

$mess_array_all[] = 1; # чтобы цикл выполнился один лишний раз

foreach($mess_array_all AS $value) {

if($messCount>$curPos && ($messCount-$curPos-1)<=$recNum && ($messCount-$curPos)>0) {

if( ($value['Sub_Class_ID']==$mess_cc || !$mess_cc) && ($messCount-$curPos)<=$recNum) {

if(!$mess_cc) {

$mess_sub = $value['Subdivision_ID'];

$mess_cc = $value['Sub_Class_ID'];

}

$mess_array[] = $value['Message_ID'];

}

else {

if($mess_array) {

$messages_str = join(",", $mess_array);

$content.=s_list_class($mess_sub, $mess_cc, opt($messages_str, "&tags_messages=$messages_str")."&isTitle=2&preTitle=1&showNav=0" );

}

unset($mess_array);

$messages_str = "";

$mess_array[] = $value['Message_ID'];

$mess_sub = $value['Subdivision_ID'];

$mess_cc = $value['Sub_Class_ID'];

}

}

++$messCount;

}

}

$result.="

<div class='nc_list'>

<h3>

".($tag ? "Тег — ".((int)$tagsub || (int)$tagcc ? "<a href='".$SUB_FOLDER.$current_sub['Hidden_URL']."?tag=".htmlspecialchars($tag, ENT_QUOTES)."' title='вывести все сообщения с этим тегом'>".$tagText."</a>" : $tagText) : "Популярные теги")."

</h3>

".($content && $tag ? $content : nc_tag_cloud_all($catalogue, "<a href='$SUB_FOLDER/tags/%TAG_LINK%TAG_SUB_LINK' style='font-size:%TAG_HEIGHT%; \".opt(%TAG_HEIGHT>160, 'line-height:1em;').\"'>%TAG_NAME</a>"))."
11.03.2012, 01:08
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

Чтобы тут что-то менять, вам нужно понять как оно сейчас работает.
А работает оно след. образом - выводятся записи одного компонента с имеющимися в этом компоненте настройками сортировки, затем выводятся записи второго компонента и т.д., т.е. записи сначала "группируются" по компонентам, а потом сортируются.

Так вот, если вам нужна сортировка только внутри записей компонентов, то сортировку следует настраивать в самих компонентах. А если вам нужна сортировка всех записей вне зависимости от компонента (т.е. без группировки по компонентам), то тут надо писать ручками свой вывод, в котром ключевую роль будет играть sql-запрос с ...union all..., т.е. сначала получите выборку, затем ее отсортируете по дате, а только потом будет делать вывод.

Temet nosce...
14.03.2013, 07:34
Ответить | Цитировать
Гость
Гость

Никто еще не реализовывал подобное ? Чтобы сортировать все записи по дате (вне зависимости от компонента)?
Необходимо решить данную задачу =(
14.03.2013, 23:04
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

Чуть выше написано.

Temet nosce...
198 196 2013-03-14 23:04:23 11951
Описание проекта