Agradeceríamos tu apoyo para compartir nuestras crónicas con relación a las ciencias de la computación.
Los términos de taxonomía se implementan en los campos en Drupal 7. Suponiendo que haya definido un campo de taxonomía llamado field_category para su tipo de contenido, puede acceder a él como:
$language = 'und'; // or will be provided by some Drupal hooks
foreach ($node->field_category[$language] as $delta => $value)
$term = taxonomy_term_load($value['tid']);
Si no tiene acceso al nombre del campo, probablemente la forma más fácil para nodos es consultar la base de datos directamente:
$results = db_query('SELECT tid FROM taxonomy_index WHERE nid = :nid', array(':nid' => $node->nid));
foreach ($results as $result)
$term = taxonomy_term_load($result->tid);
Sin embargo, tenga en cuenta que puede terminar tratando con un revoltijo de términos de diferentes vocabularios si tiene más de un campo de taxonomía.
Aquí hay una forma muy genérica de capturar todos los términos sin especificar nombres de campo y sin db_query:
function example_get_terms($node)
$terms = array();
foreach (field_info_instances('node', $node->type) as $fieldname => $info)
foreach (field_get_items('node', $node, $fieldname) as $item)
if (is_array($item) && !empty($item['tid']) && $term = taxonomy_term_load($item['tid']))
$terms[] = $term->name;
return $terms;
Comentarios y puntuaciones
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)