2015-10-31 1 views
1

Здравствуйте.Сортировка по модам

Проблемы при сортировке журнала в архиве. CMS Modx. Код не мой. Теперь это выглядит так:

<li class="journals"> 
<ul class="ye"> 
<li class="year">2015</li> 
<ul class="in_nums 2015" style="display: inherit;"> 
<li data-issue="4804">№1(48)</li> 
<li data-issue="5314">№3(51)</li> 
<li data-issue="4980">№2(50)</li> 
<li data-issue="5148">№2(49)</li> 
<li data-issue="5437">№3(52)</li> 
</ul> 
</ul> 
</li> 

Как вы видите Проблемы не в сортировке какого-либо типа. Годы сортируются нормально.

Отрывок:

<?php 
$ctx = $modx->getContext($modx->context->key); 
$issue_con = $ctx->config['issue_con']; 

$query = $modx->newQuery('modResource'); 
$query->select(array('pagetitle','id')); 
$query->where(array('parent'=>$issue_con)); 
$query->prepare(); 
$query->stmt->execute(); 
$res = $query->stmt->fetchAll(PDO::FETCH_ASSOC); 

$years = array(); 
foreach ($res as $r) 
{ 
    $mas = explode(', ',$r['pagetitle']); 
    $years[intval($mas[1])][$mas[0]] = $r['id']; 
} 
krsort($years); 
$output = '<ul class="ye">'; 
foreach ($years as $y=>$nums) 
{ 
    $output .= '<li class="year">'.$y.'</li><ul class="in_nums '.$y.'">'; 
       foreach ($nums as $num=>$pid) 
       { 
     $output .= '<li data-issue="'.$pid.'">'.$num.'</li>'; 
       } 
       $output .= '</ul>'; 
} 
$output .= '</ul>'; 

echo $output; 

нужно сортировать вопросы от старых к новым (как ksort я предполагаю), используя числа в скобках (№3()) или ИДП().

Заранее благодарен!

ответ