Drupal 7:获取附加到按日期排序的词汇表中所有术语的所有内容项

时间:2014-11-18 15:43:49

标签: drupal-7 drupal-taxonomy

就像标题所说的那样。我有几个术语的词汇。我希望能够通过在一个巨大的列表中创建的日期排序的词汇表中的每个术语来标记所有项目。这可能与内置的分类API有关,还是我必须构建自定义的东西?

2 个答案:

答案 0 :(得分:0)

据我所知,Drupal API中没有任何函数/方法可以为您提供。我相信你必须自己制作。

答案 1 :(得分:0)

当你说'items'时,如果你的意思是节点,那么你正在寻找的函数是taxonomy_select_nodes()。 https://api.drupal.org/api/drupal/modules%21taxonomy%21taxonomy.module/function/taxonomy_select_nodes/7

此函数返回匹配的节点ID数组,并选择该术语。

/**
 * Get an array of node id's that match terms in a given vocab.
 * 
 * @param string $vocab_machine_name
 *   The vocabulary machine name.
 * 
 * @return array
 *   An array of node ids.
 */
function _example_get_vocab_nids($vocab_machine_name) {
  $vocabulary = taxonomy_vocabulary_machine_name_load($vocab_machine_name);
  if (!$vocabulary) {
    return array();
  }

  $terms = taxonomy_get_tree($vocabulary->vid);
  if (!$terms) {
    return array();
  }

  $nids = array();
  foreach ($terms as $term) {
    $term_nids = taxonomy_select_nodes($term->tid, FALSE);
    $nids = array_merge($nids, $term_nids);
  }

  return $nids;  
}