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
Sorting 按重量排序的加载项_Sorting_Drupal_Drupal 7_Drupal Taxonomy - Fatal编程技术网

Sorting 按重量排序的加载项

Sorting 按重量排序的加载项,sorting,drupal,drupal-7,drupal-taxonomy,Sorting,Drupal,Drupal 7,Drupal Taxonomy,当涉及到根据术语权重按升序加载词汇时,有人能给我指出正确的方向吗 这就是我现在拥有的: $taxonomy = taxonomy_vocabulary_machine_name_load('tool_type'); $terms = entity_load('taxonomy_term', FALSE, array('vid' => $taxonomy->vid)); 据我所见,我的术语现在按字母顺序排列,这不是我所需要的 我还觉得奇怪的是,当你可以拖放CMS中的术语来改变术语的权

当涉及到根据术语权重按升序加载词汇时,有人能给我指出正确的方向吗

这就是我现在拥有的:

$taxonomy = taxonomy_vocabulary_machine_name_load('tool_type');
$terms = entity_load('taxonomy_term', FALSE, array('vid' => $taxonomy->vid));
据我所见,我的术语现在按字母顺序排列,这不是我所需要的

我还觉得奇怪的是,当你可以拖放CMS中的术语来改变术语的权重时,字母顺序似乎是标准的。 如果将这些术语按重量作为标准进行排序,则更有意义。
有人能给我解释一下为什么它是这样实现的吗?

您可以使用分类项目的
权重属性对它们进行排序:

$taxonomy = taxonomy_vocabulary_machine_name_load('tool_type');
$terms = entity_load('taxonomy_term', FALSE, array('vid' => $taxonomy->vid));
uasort($terms, function($a, $b) {
    if ($a->weight == $b->weight) return strcmp($a->name, $b->name) ;
    return $a->weight > $b->weight;
});
这将按重量分类。如果重量相同,则按名称排序