是否可以在没有 Twig 扩展的情况下按键对数组进行排序?

我有一个这样的数组:

{key1 : object1, key2 : object2...)

当我使用 {% for t in tab|sort%} 时,它​​给我一个按对象 ID 而不是按键排序的数组。

没有 Twig 扩展就没有办法做到这一点?

最佳答案

据我所知,没有过滤器可以按数组键进行排序。

但是,如果您需要创建过滤器,您可以在扩展的 Twig 扩展文件中执行此操作,

创建函数,

public function ksort($array) {
    ksort($array);
    return $array;
}

Hook 可用过滤器中的功能,
public function getFilters() {
    $this->filters['ksort'] = new \Twig_SimpleFilter('ksort', array($this, 'ksort'));
    return $this->filters;
}

并调用过滤器,
{% for a in array | ksort %}
    <h2>{{ a }}</h2>
{% endfor %}

干杯

10-08 00:35