以下は、Apache solr 検索結果の前処理に使用するコードです。
function apachesolr_search_apachesolr_process_results(&$results, DrupalSolrQueryInterface $query) {
$rows = array();
foreach ($results as $key => $fields) {
$rows [] = array(
'title' => t($fields['fields']['title']),
'Category' => $fields['fields']['category'],
'Dper' => $fields['fields']['crtor'],
'pvalue' => $fields['fields']['pvalue'],
'rvalue' => $fields['fields']['rvalue'],
'avalue' => $fields['fields']['avalue'],
);
}
$header = array(
array('data' => 'title', 'field' => 'title', 'sort' => 'ASC'),
array('data' => 'category', 'field' => 'category', 'sort' => 'ASC'),
array('data' => 'creator', 'field' => 'creator', 'sort' => 'ASC'),
array('data' => 'pvalue', 'field' => 'pvalue'),
array('data' => 'rvalue', 'field' => 'rvalue'),
array('data' => 'avalue', 'field' => 'avalue'),
);
$results['processresults'] = theme('table', array('header' => $header, 'rows' => $rows));
$results['processresults'] .= theme('pager');
return $results;
}
同じ関数で $results['processresults'] を出力して終了すると、テーブルが生成されました。$results を返し、テーブルが apache solr 検索結果ページに表示されない場合。