Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php modx中的排序_Php_Sorting_Code Snippets_Modx - Fatal编程技术网

Php modx中的排序

Php modx中的排序,php,sorting,code-snippets,modx,Php,Sorting,Code Snippets,Modx,你好。 在归档中对日记账的问题进行排序时出现问题。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

你好。

在归档中对日记账的问题进行排序时出现问题。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>
    • 2015年
      • №1(48)
      • №3(51)
      • №2(50)
      • №2(49)
      • №3(52)
  • 正如您所见,问题不在任何类型的排序中。这是正常的

    片段:

    <?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;
    

    您可以在查询中进行排序,请参阅文档:
    

    要按资源ID排序,请执行以下操作:

    $query->sortby('id','ASC');
    
    并按年份删除排序