Merge branch 'refs/heads/7.x-solrmulticore' into 7.x

This commit is contained in:
bachy 2013-01-30 14:49:12 +01:00
commit 18eea497c3
3 changed files with 40 additions and 17 deletions

View File

@ -9,19 +9,24 @@ function materio_search_api_settings(){
$index_options[$index->machine_name] = $index->name; $index_options[$index->machine_name] = $index->name;
} }
$form['mainsearchindex'] = array( $languages = locale_language_list();
'#type'=>'select', // dsm($languages, 'languages');
'#options'=>$index_options,
'#default_value' => variable_get('mainsearchindex', -1), foreach ($languages as $lcode => $name) {
'#title' => t('Main search api index'), $form['mainsearchindex_'.$lcode] = array(
); '#type'=>'select',
'#options'=>$index_options,
'#default_value' => variable_get('mainsearchindex_'.$lcode, -1),
'#title' => t('Main search api index for %lang contents.', array('%lang'=>$name)),
);
$form['autocompletesearchindex'] = array( $form['autocompletesearchindex_'.$lcode] = array(
'#type'=>'select', '#type'=>'select',
'#options'=>$index_options, '#options'=>$index_options,
'#default_value' => variable_get('autocompletesearchindex', -1), '#default_value' => variable_get('autocompletesearchindex_'.$lcode, -1),
'#title' => t('Autocomplete search api index'), '#title' => t('Autocomplete search api index for %lang contents.', array('%lang'=>$name)),
); );
}
// TODO: select the activated viewmodes for change view mode and selected view mode // TODO: select the activated viewmodes for change view mode and selected view mode
$entity_infos = entity_get_info(); $entity_infos = entity_get_info();

View File

@ -104,7 +104,12 @@ function materio_search_api_entity_property_info_alter(&$info){
'getter callback'=>'materio_search_api_get_main_taxonomy_term_'.$i, 'getter callback'=>'materio_search_api_get_main_taxonomy_term_'.$i,
); );
} }
$properties['materio_search_api_taxonomy_term_'.$i] = array(
'type'=>'taxonomy_term',
'label'=> t('Taxonomy term after 5 mains'),
'query callback'=>'entity_metadata_table_query',
'getter callback'=>'materio_search_api_get_taxonomy_terms_after_5',
);
return $properties; return $properties;
} }
@ -129,6 +134,18 @@ function materio_search_api_get_main_taxonomy_term_5($item){
return materio_search_api_get_onto_term($item, 4); return materio_search_api_get_onto_term($item, 4);
} }
function materio_search_api_get_taxonomy_terms_after_5($item){
if(isset($item->field_onthologie['und'])){
$terms = array();
foreach ($item->field_onthologie['und'] as $delta => $value) {
if($delta>4)
$terms[] = taxonomy_term_load($item->field_onthologie['und'][$delta]['tid']);
}
return $terms;
}
return null;
}
function materio_search_api_get_onto_term($item, $delta){ function materio_search_api_get_onto_term($item, $delta){
// dsm($item, 'item'); // dsm($item, 'item');
// dsm($delta, 'delta'); // dsm($delta, 'delta');

View File

@ -76,7 +76,8 @@ function materio_search_api_autocomplete_searchapi($typed = ''){
$tosearch = isset($last[2]) ? $last[2] : $typed; $tosearch = isset($last[2]) ? $last[2] : $typed;
// build the query // build the query
$index_machine_name = variable_get('autocompletesearchindex', -1); global $language;
$index_machine_name = variable_get('autocompletesearchindex_'.$language->language, -1);
$query = search_api_query($index_machine_name); $query = search_api_query($index_machine_name);
// $query_filter = $query->createFilter(); // $query_filter = $query->createFilter();
@ -114,7 +115,6 @@ function materio_search_api_autocomplete_searchapi($typed = ''){
// dsm($term_matches, 'term_matches'); // dsm($term_matches, 'term_matches');
// return 'debug mode of materio_search_api_autocomplete_searchapi'; // return 'debug mode of materio_search_api_autocomplete_searchapi';
} }
/** /**
@ -156,7 +156,8 @@ function materio_search_api_results_search(){
} }
// dsm($keys, 'keys'); // dsm($keys, 'keys');
$index_machine_name = variable_get('mainsearchindex', -1); global $language;
$index_machine_name = variable_get('mainsearchindex_'.$language->language, -1);
$index = search_api_index_load($index_machine_name); $index = search_api_index_load($index_machine_name);
$indexed_bundles = $index->options['data_alter_callbacks']['search_api_alter_bundle_filter']['settings']['bundles']; $indexed_bundles = $index->options['data_alter_callbacks']['search_api_alter_bundle_filter']['settings']['bundles'];
@ -224,7 +225,7 @@ function materio_search_api_results_search(){
/* /*
TODO choose index in module settings TODO choose index in module settings
*/ */
$ret['results']['#index'] = search_api_index_load('materiaux_breves'); $ret['results']['#index'] = search_api_index_load($index_machine_name);
$ret['results']['#results'] = $results; $ret['results']['#results'] = $results;
$ret['results']['#view_mode'] = $viewmode; $ret['results']['#view_mode'] = $viewmode;