source: sandbox/expresso-solr/solr/example/solr/conf/velocity/VM_global_library.vm @ 7588

Revision 7588, 5.8 KB checked in by adir, 11 years ago (diff)

Ticket #000 - Adicionando a integracao de buscas com Solr na base a ser isnerida na comunidade

Line 
1
2#macro(param $key)$request.params.get($key)#end
3
4#macro(url_root)/solr#end
5
6## TODO: s/url_for_solr/url_for_core/ and s/url_root/url_for_solr/
7#macro(url_for_solr)#{url_root}#if($request.core.name != "")/$request.core.name#end#end
8#macro(url_for_home)#url_for_solr/browse#end
9
10#macro(q)&q=$!{esc.url($params.get('q'))}#end
11
12#macro(fqs $p)#foreach($fq in $p)#if($velocityCount>1)&#{end}fq=$esc.url($fq)#end#end
13
14#macro(debug)#if($request.params.get('debugQuery'))&debugQuery=true#end#end
15
16#macro(boostPrice)#if($request.params.get('bf') == 'price')&bf=price#end#end       
17
18#macro(annotate)#if($request.params.get('annotateBrowse'))&annotateBrowse=true#end#end
19
20#macro(annTitle $msg)#if($annotate == true)title="$msg"#end#end
21
22#macro(spatial)#if($request.params.get('sfield'))&sfield=store#end#if($request.params.get('pt'))&pt=$request.params.get('pt')#end#if($request.params.get('d'))&d=$request.params.get('d')#end#end
23
24#macro(qOpts)#set($queryOpts = $request.params.get("queryOpts"))#if($queryOpts && $queryOpts != "")&queryOpts=$queryOpts#end#end
25
26#macro(group)#if($request.params.getBool("group") == true)&group=true#end#if($request.params.get("group.field"))#foreach($grp in $request.params.getParams('group.field'))&group.field=$grp#end#end#end
27
28#macro(lensNoQ)?#if($request.params.getParams('fq') and $list.size($request.params.getParams('fq')) > 0)&#fqs($request.params.getParams('fq'))#end#debug#boostPrice#annotate#spatial#qOpts#group#end
29#macro(lens)#lensNoQ#q#end
30       
31
32#macro(url_for_lens)#{url_for_home}#lens#end
33
34#macro(url_for_start $start)#url_for_home#lens&start=$start#end
35
36#macro(url_for_filters $p)#url_for_home?#q#boostPrice#spatial#qOpts#if($list.size($p) > 0)&#fqs($p)#end#debug#end
37
38#macro(url_for_nested_facet_query $field)#url_for_home#lens&fq=$esc.url($field)#end
39
40## TODO: convert to use {!raw f=$field}$value (with escaping of course)
41#macro(url_for_facet_filter $field $value)#url_for_home#lens&fq=$esc.url($field):%22$esc.url($value)%22#end
42
43#macro(url_for_facet_date_filter $field $value)#url_for_home#lens&fq=$esc.url($field):$esc.url($value)#end
44
45#macro(url_for_facet_range_filter $field $value)#url_for_home#lens&fq=$esc.url($field):$esc.url($value)#end
46
47
48#macro(link_to_previous_page $text)
49  #if($page.current_page_number > 1)
50    #set($prev_start = $page.start - $page.results_per_page)
51    <a class="prev-page" href="#url_for_start($prev_start)">$text</a>
52  #end
53#end
54
55#macro(link_to_next_page $text)
56  #if($page.current_page_number < $page.page_count)
57    #set($next_start = $page.start + $page.results_per_page)
58    <a class="next-page" href="#url_for_start($next_start)">$text</a>
59  #end
60#end
61
62#macro(link_to_page $page_number $text)
63  #if($page_number == $page.current_page_number)
64    $text
65  #else
66    #if($page_number <= $page.page_count)
67      #set($page_start = $page_number * $page.results_per_page - $page.results_per_page)
68      <a class="page" href="#url_for_start($page_start)">$text</a>
69    #end
70  #end
71#end
72
73#macro(display_facet_query $field, $display, $fieldName)
74  #if($field.size() > 0)
75  <span class="facet-field">$display</span>
76    <ul>
77    #foreach ($facet in $field)
78      #if ($facet.value > 0)
79        #set($facetURL = "#url_for_nested_facet_query($facet.key)")
80        #if ($facetURL != '')
81          <li><a href="$facetURL">$facet.key</a> ($facet.value)</li>
82        #end
83      #end
84    #end
85    </ul>
86  #end     
87#end
88
89
90#macro(display_facet_range $field, $display, $fieldName, $start, $end, $gap, $before, $after)
91  <span class="facet-field">$display</span>
92    <ul>
93    #if($before && $before != "")
94      #set($value = "[* TO " + "#format_value($start)" + "}")
95      #set($facetURL = "#url_for_facet_range_filter($fieldName, $value)")
96      <li><a href="$facetURL">Less than #format_value($start)</a> ($before)</li>
97    #end
98    #foreach ($facet in $field)
99      #set($rangeEnd = "#range_get_to_value($facet.key, $gap)")
100      #set($value = "[" + $facet.key + " TO " + $rangeEnd + "}")
101      #set($facetURL = "#url_for_facet_range_filter($fieldName, $value)")
102      #if ($facetURL != '')
103        <li><a href="$facetURL">$facet.key - #format_value($rangeEnd)</a> ($facet.value)</li>
104      #end
105    #end
106    #if($end && $end != "" && $after > 0)
107      #set($value = "[" + "#format_value($end)" + " TO *}")
108      #set($facetURL = "#url_for_facet_range_filter($fieldName, $value)")
109      <li><a href="$facetURL">More than #format_value($end)</a> ($after)</li>
110    #end
111    </ul>
112#end
113
114## $pivots is a list of facet_pivot
115#macro(display_facet_pivot $pivots, $display)
116  #if($pivots.size() > 0)
117  <span class="facet-field">$display</span>
118    <ul>
119      #foreach ($pivot in $pivots)
120        #foreach ($entry in $pivot.value)
121          <a href="#url_for_facet_filter($entry.field, $entry.value)">$entry.field::$entry.value</a> ($entry.count)
122          <ul>
123            #foreach($nest in $entry.pivot)
124              <a href="#url_for_facet_filter($entry.field, $entry.value)&fq=$esc.url($nest.field):%22$esc.url($nest.value)%22">$nest.field::$nest.value</a> ($nest.count)
125            #end
126          </ul>
127        #end
128      #end
129    </ul>
130  #end
131#end
132
133#macro(field $f)
134  #if($response.response.highlighting.get($docId).get($f).get(0))
135    $!response.response.highlighting.get($docId).get($f).get(0)
136  #else
137    #foreach($v in $doc.getFieldValues($f))
138      $v
139    #end
140  #end
141#end 
142
143#macro(utc_date $theDate)
144$date.format("yyyy-MM-dd'T'HH:mm:ss'Z'",$theDate,$date.getLocale(),$date.getTimeZone().getTimeZone("UTC"))##
145#end
146
147#macro(format_value $val)
148#if(${val.class.name} == "java.util.Date")
149#utc_date($val)##
150#else
151$val##
152#end
153#end
154
155#macro(range_get_to_value $inval, $gapval)
156#if(${gapval.class.name} == "java.lang.String")
157$inval$gapval##
158#elseif(${gapval.class.name} == "java.lang.Float" || ${inval.class.name} == "java.lang.Float")
159$math.toDouble($math.add($inval,$gapval))##
160#else
161$math.add($inval,$gapval)##
162#end
163#end
Note: See TracBrowser for help on using the repository browser.