按权重排序的负载项
Load terms sorted by weight
当涉及到根据词权重按升序从词汇表加载词时,有人能给我指出正确的方向吗?
这是我现在拥有的:
$taxonomy = taxonomy_vocabulary_machine_name_load('tool_type');
$terms = entity_load('taxonomy_term', FALSE, array('vid' => $taxonomy->vid));
据我所知,我的条款现在按字母顺序排序,这不是我需要的。
我还觉得很奇怪,当您可以在 CMS 中拖放术语以更改术语的权重时,字母顺序似乎是标准的。
如果这些条款按标准按重量排序,那将更有意义。
谁能给我解释一下为什么要这样实现?
您可以使用分类项的 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;
});
这将按重量排序。如果重量相同,则按名称排序。
当涉及到根据词权重按升序从词汇表加载词时,有人能给我指出正确的方向吗?
这是我现在拥有的:
$taxonomy = taxonomy_vocabulary_machine_name_load('tool_type');
$terms = entity_load('taxonomy_term', FALSE, array('vid' => $taxonomy->vid));
据我所知,我的条款现在按字母顺序排序,这不是我需要的。
我还觉得很奇怪,当您可以在 CMS 中拖放术语以更改术语的权重时,字母顺序似乎是标准的。 如果这些条款按标准按重量排序,那将更有意义。 谁能给我解释一下为什么要这样实现?
您可以使用分类项的 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;
});
这将按重量排序。如果重量相同,则按名称排序。