以下は、並べ替えや出力のためのフィールドを追加するコードの例です。
/**
* Implementation of hook_apachesolr_update_index()
* Here we're adding custom fields to index, so that they available for sorting. To make this work, it's required to re-index content.
*/
function somemodule_apachesolr_update_index(&$document, $node) {
if ($node->type == 'product') {
$document->addField('sm_default_qty', $node->default_qty);
$document->addField('sm_sell_price', $node->sell_price);
$document->addField('sm_model', $node->model);
foreach ($node->field_images AS $image) {
//$imagecached_filepath = imagecache_create_path('product', $image['filepath']);
$document->addField('sm_field_images', $image['filepath']);
}
}
}
/**
* Implementation of hook_apachesolr_modify_query()
* Here we point what additional fields we need to get from solr
*/
function somemodule_apachesolr_modify_query(&$query, &$params, $caller) {
$params['fl'] .= ',sm_default_qty,sm_field_images,sm_sell_price,sm_model';
}
あなたが完全に出力をカスタマイズしたい場合は、以下の操作を行う必要があります 1)コピー検索results.tpl.phpをし、あなたのテーマのフォルダに/モジュール/検索から-result.tpl.phpを検索します。検索-result.tpl.php 3内で必要と 2)テーマ
または約述べたように、あなたが使用して上書きすることができます/構築/管理者を訪問し、テーマレジストリをクリアすることを忘れないでください)$結果オブジェクトを使用しますプリプロセッサフック。
よろしく、スラバ
出典
2011-06-15 09:17:14
32i
あなたが必要とするすべてのフィールドをリクエストする必要があります。デフォルトでは、これらのフィールドは d、nid、title、comment_count、タイプ、作成、変更、スコア、パス、URL、 、名前 function formexample_apachesolr_modify_query(&$ query、&$ params){ $ params ['fl']。= '、field_desc'; $ params ['fl']。= '、field_url'; } – pmarreddy