====== Custom search result ======
* **Speed up search (from 30s to 1s !!) and Limit ''dc.description'' to 200 chars**
Edit ''sites/all/modules/islandora_solr_custom/theme/islandora_solr_custom.theme.inc''
function islandora_solr_custom_preprocess_islandora_solr_custom(&$variables) {
...
// $variables['field_order'] = _islandora_solr_custom_solrconfig(); // not sure if this is really needed, but I'll keep it in for now.
...
if ($field=="PID") {
$hlv = $hl->$value;
foreach ($hlv as $singlef) {
$linee = "";
foreach ($singlef as $linea) {
$linee = $linee."... ".$linea."...
";
}
$resultsArray['OCR.OCR']['value'] = $linee;
}
}
if (($field=="dc.description")&&($value!="")) {
$resultsArray[$field]['value'] = substr($value,0,200)."... ";
}
// set the fields
$resultsArray[$field]['label'] = $db_value['label'];
$resultsArray[$field]['class'] = strtolower( preg_replace('/[^A-Za-z0-9]/', '-', $db_value['field$
$resultsArray[$field]['exclude_label'] = $db_value['exclude_label'];
$resultsArray[$field]['markup'] = $db_value['markup'];
}
...
* **Custom theme and layout**
Edit ''sites/all/modules/islandora_solr_custom/theme/islandora-solr-custom.tpl.php''
' . t('Your search yielded no results') . '
"; ?> |
".substr($result['dc.title']['value'],0,-12).""; ?> |
"; ?> ".substr($result['dc.title']['value'],-9).""; ?> |
"; ?> |
".$result['dc.title']['value'].""; ?> |
/* css markup for template */
.islandora_solr_result
{
margin-bottom: 25px;
border: 10px solid #fff;
background: #fff url(images/bg-content.png) repeat-x 50% 0;
}
.islandora_solr_result .label
{
width: 180px;
padding: 10px 10px 0px 0px;
vertical-align: top;
text-align: right;
background: #fff;
}
.islandora_solr_result .plabel
{
width: 110px;
padding: 0px 0px 0px 5px;
vertical-align: bottom;
text-align: left;
}
.islandora_solr_result .value
{
padding: 10px 0px 0px 2px;
vertical-align: top;
text-align: left;
}
.islandora_solr_result .ocrvalue
{
padding: 0px 5px 0px 5px;
vertical-align: top;
text-align: right;
font-size:0.82em;
background: #fff;
}