当谈到根据术语权重从升级顺序加载术语时,是否有人能指出正确的方向?
这就是我现在所拥有的:
$taxonomy = taxonomy_vocabulary_machine_name_load('tool_type');
$terms = entity_load('taxonomy_term', FALSE, array('vid' => $taxonomy->vid));
从我所看到的,我的术语现在按字母顺序排序,这不是我需要的。
我还发现,当你可以在CMS中拖放这些术语来改变术语的权重时,字母顺序似乎是标准的。 如果这些术语按重量分类为标准则更有意义。 任何人都可以向我解释为什么以这种方式实现它?
答案 0 :(得分:0)
您可以使用分类项目的weight
属性对它们进行排序:
$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;
});
这将按重量排序。如果重量相同,按名称排序。