function apachesolr_term_solr_taxonomy_ancestors in Apachesolr Term 7
1 call to apachesolr_term_solr_taxonomy_ancestors()
- apachesolr_term_solr_document in ./apachesolr_term.module
- Builds the user-specific information for a Solr document.
File
- ./apachesolr_term.module, line 95
- Indexer for the userhook_apachesolr_entity_info_alter entities for the Apachesolr module.
Code
function apachesolr_term_solr_taxonomy_ancestors($term) {
static $ancestors = array();
$vocab_names = array();
if (!isset($ancestors[$term->tid])) {
$ancestors[$term->tid] = taxonomy_get_parents_all($term->tid);
}
foreach ($ancestors[$term->tid] as $ancestor) {
$fields[] = array(
'key' => 'tid',
'value' => $ancestor->tid,
);
$fields[] = array(
'key' => 'im_vid_' . $ancestor->vid,
'value' => $ancestor->tid,
);
$name = apachesolr_clean_text($ancestor->name);
$vocab_names[$ancestor->vid][] = $name;
$fields[] = array(
'key' => 'sm_vid_' . apachesolr_vocab_name($ancestor->vid),
'value' => $name,
);
}
foreach ($vocab_names as $vid => $names) {
$fields[] = array(
'key' => 'tm_vid_' . $vid . '_names',
'value' => implode(' ', $names),
);
}
return $fields;
}