added "address" field property to company taxonomy term, for indexation

http://studio.g-u-i.net/en/materio/node/1040
Signed-off-by: bachy <git@g-u-i.net>
This commit is contained in:
bachy 2013-03-13 12:47:13 +01:00
parent f5e39e1209
commit 78b816920d

View File

@ -150,7 +150,16 @@ function materio_search_api_entity_property_info_alter(&$info){
// // 'query callback'=>'entity_metadata_table_query',
// 'getter callback'=>'materio_search_api_get_taxonomy_terms_after_5',
// );
return $properties;
// return $properties;
$company_term_props = &$info['taxonomy_term']['bundles']['company']['properties'];
$company_term_props['country'] = array(
'label' => t("Country"),
'description' => t("Company's Country get from tode node."),
'type' => 'text',
'getter callback' => 'company_term_property_country_get_props',
);
}
function materio_search_api_get_main_taxonomy_term_1($item){
@ -175,6 +184,28 @@ function materio_search_api_get_main_taxonomy_term_5($item){
return materio_search_api_get_onto_term($item, 4);
}
function company_term_property_country_get_props($term){
if( $node = company_get_tode_node($term) ){
$field_values = field_get_items('node',$node,'field_public_adress');
$address = '';
foreach ($field_values as $value) {
$address .= $value['value'];
}
return $address;
}
return null;
}
function company_get_tode_node($term){
if(module_exists('tode'))
if( $entitys = tode_get_nids_from_term($term) && isset($entitys['node']) )
foreach ($entitys['node'] as $nid => $n)
return node_load($nid);
return false;
}
// function materio_search_api_get_taxonomy_terms_after_5($item){
// // dsm($item, 'item');
// watchdog('materio solr', 'materio_search_api_get_taxonomy_terms_after_5', array());