source: gs3-extensions/solr/trunk/src/conf/velocity/richtext_doc.vm@ 29135

Last change on this file since 29135 was 29135, checked in by ak19, 10 years ago

Part of port from lucene3.3.0 to lucene4.7.2. Solr related. conf and lib folders for solr4.7.2.

File size: 3.7 KB
Line 
1#**
2 * Render a complex document in the results list
3 *#
4
5## Load Mime-Type List and Mapping
6#parse('mime_type_lists.vm')
7## Sets:
8## * supportedMimeTypes, AKA supportedtypes
9## * mimeExtensionsMap, AKA extMap
10
11## Title
12#if($doc.getFieldValue('title'))
13 #set($title = $esc.html($doc.getFirstValue('title')))
14#else
15 #set($title = "["+$doc.getFieldValue('id')+"]")
16#end
17
18## URL
19#if($doc.getFieldValue('url'))
20 #set($url = $doc.getFieldValue('url'))
21#elseif($doc.getFieldValue('resourcename'))
22 #set($url = "file:///$doc.getFieldValue('resourcename')")
23#else
24 #set($url = "$doc.getFieldValue('id')")
25#end
26
27## Sort out Mime-Type
28#set($ct = $list.get($doc.getFirstValue('content_type').split(";"),0))
29#set($filename = $doc.getFieldValue('resourcename'))
30#set($filetype = false)
31#set($filetype = $mimeExtensionsMap.get($ct))
32
33## TODO: falling back to file extension is convenient,
34## except when you don't have an icon for that extension
35## example "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
36## document with a .docx extension.
37## It'd be nice to fall back to an "unknown" or the existing "file" type
38## We sort of do this below, but only if the filename has no extension
39## (anything after the last dot).
40
41#if(!$filetype)
42 #set($filetype = $filename.substring($filename.lastIndexOf(".")).substring(1))
43#end
44
45## #if(!$filetype)
46## #set($filetype = "file")
47## #end
48## #if(!$supportedMimeTypes.contains($filetype))
49## #set($filetype = "file")
50## #end
51
52## Row 1: Icon and Title and mlt link
53<div class="result-title">
54 ## Icon
55 ## Small file type icons from http://www.splitbrain.org/projects/file_icons (public domain)
56 <img src="#{url_root}/img/filetypes/${filetype}.png" align="center">
57
58 ## Title, hyperlinked
59 <a href="${url}" target="_blank">
60 <b>$title</b></a>
61
62 ## Link for MLT / More Like This / Find Similar
63 <span class="mlt">
64 #if($params.getBool('mlt', false) == false)
65 <a href="#lensNoQ&q=id:%22$docId%22&mlt=true">
66 More Like This</a>
67 #end
68 </span>
69
70</div>
71
72## Row 2?: ID / URL
73<div>
74 Id: #field('id')
75</div>
76
77## Resource Name
78<div>
79 #if($doc.getFieldValue('resourcename'))
80 Resource name: $filename
81 #elseif($url)
82 URL: $url
83 #end
84 #if($ct)
85 ($ct)
86 #end
87</div>
88
89## Author
90#if($doc.getFieldValue('author'))
91 <div>
92 Author: #field('author')
93 </div>
94#end
95
96## Last_Modified Date
97#if($doc.getFieldValue('last_modified'))
98 <div>
99 last-modified:
100 #field('last_modified')
101 </div>
102#end
103
104## Main content of doc
105<div class="result-body">
106 #field('content')
107</div>
108
109## Display Similar Documents / MLT = More Like This
110<div class="mlt">
111 #set($mlt = $mltResults.get($docId))
112 #set($mltOn = $params.getBool('mlt'))
113 #if($mltOn == true)
114 <div class="field-name">
115 Similar Items
116 </div>
117 #end
118 ## If has MLT enabled An Entries to show
119 #if ($mltOn && $mlt && $mlt.size() > 0)
120 <ul>
121 #foreach($mltHit in $mlt)
122 #set($mltId = $mltHit.getFieldValue('id'))
123 <li>
124 <div>
125 <a href="#url_for_home?q=id:$mltId">
126 $mltId</a>
127 </div>
128 <div>
129 <span class="field-name">
130 Title:
131 </span>
132 $mltHit.getFieldValue('title')
133 </div>
134 <div>
135 <span class="field-name">
136 Author:
137 </span>
138 $mltHit.getFieldValue('author')
139 <span class="field-name">
140 Description:
141 </span>
142 $mltHit.getFieldValue('description')
143 </div>
144 </li>
145 #end ## end for each mltHit in $mlt
146 </ul>
147 ## Else MLT Enabled but no mlt results for this query
148 #elseif($mltOn && $mlt.size() == 0)
149 <div>No Similar Items Found</div>
150 #end
151</div> ## div class=mlt
152
153#parse('debug.vm')
Note: See TracBrowser for help on using the repository browser.