diff --git a/materio_search_api.module b/materio_search_api.module index 37f09e84..551a240a 100644 --- a/materio_search_api.module +++ b/materio_search_api.module @@ -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());