Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 55 lines (31 sloc) 2.187 kB
45ec12c Added Readme
Amanda Nicholas authored
1 # Search plugin for [RefineryCMS](http://www.refinerycms.com)
2 [Github](http://github.com/resolve/refinerycms)
3
4 By: [Resolve Digital](http://www.resolvedigital.com)
5
a8e679d @parndt Converted to a Rails3/Refinery CMS engine.
parndt authored
6 ## Installation
45ec12c Added Readme
Amanda Nicholas authored
7
a8e679d @parndt Converted to a Rails3/Refinery CMS engine.
parndt authored
8 Simply use this by adding the following to your ``Gemfile``:
45ec12c Added Readme
Amanda Nicholas authored
9
a8e679d @parndt Converted to a Rails3/Refinery CMS engine.
parndt authored
10 gem 'refinerycms-search', '~> 0.9.8'
45ec12c Added Readme
Amanda Nicholas authored
11
a8e679d @parndt Converted to a Rails3/Refinery CMS engine.
parndt authored
12 You'll also need to create a page (from the 'Pages' tab) with a custom URL of '/search'.
13 You can set a custom URL for a page in the Advanced Options.
14 It's probably also a good idea to uncheck the 'show in menu' option for this page.
45ec12c Added Readme
Amanda Nicholas authored
15
14c27f3 @joemsak Helpful tips in the README
joemsak authored
16 ## Restart your web server and RE-SAVE all the freshly indexed records.
284cb30 @joemsak README updated with a couple of friendly reminders
joemsak authored
17
a8e679d @parndt Converted to a Rails3/Refinery CMS engine.
parndt authored
18 A sample search form can be found in [views/shared/_search.html.erb](http://github.com/blob/master/app/views/shared/_search.html.erb).
19 You can either use this partial directly, or copy the appropriate parts.
45ec12c Added Readme
Amanda Nicholas authored
20
a8e679d @parndt Converted to a Rails3/Refinery CMS engine.
parndt authored
21 ## Searching
45ec12c Added Readme
Amanda Nicholas authored
22
a8e679d @parndt Converted to a Rails3/Refinery CMS engine.
parndt authored
23 The default installation will search in Pages.
24 If you wish to find results in other plugins you have created or installed, you can specify these in ``config/settings.rb`` like so:
45ec12c Added Readme
Amanda Nicholas authored
25
e2cae61 @awagener Update Readme
awagener authored
26 Refinery.searchable_models = [Page]
45ec12c Added Readme
Amanda Nicholas authored
27
28 Simply add any additional models you wish to search to this array. For example, if you have the [portfolio plugin](http://github.com/resolve/refinerycms-portfolio) installed:
29
e2cae61 @awagener Update Readme
awagener authored
30 Refinery.searchable_models = [Page, PortfolioEntry]
eed054b @joemsak These changes help it work in Rails3 RefineryCMS acceptably.
joemsak authored
31
14c27f3 @joemsak Helpful tips in the README
joemsak authored
32 The above line will add indexing to PortfolioEntry in the portfolio plugin, which does not come indexed.
33
a8e679d @parndt Converted to a Rails3/Refinery CMS engine.
parndt authored
34 Any model you wish to search will need to be indexed using acts as indexed. To add indexing, simple add:
45ec12c Added Readme
Amanda Nicholas authored
35
0b7ded1 @awagener Corrected format of sample call to acts_as_indexed
awagener authored
36 acts_as_indexed :fields => [:title, :body]
45ec12c Added Readme
Amanda Nicholas authored
37
14c27f3 @joemsak Helpful tips in the README
joemsak authored
38 If your model doesn't use a ``:title`` attribute, remember to add an ``alias_attribute``:
284cb30 @joemsak README updated with a couple of friendly reminders
joemsak authored
39
40 alias_attribute :title, :name #for example
41
14c27f3 @joemsak Helpful tips in the README
joemsak authored
42 You can use any public method, as well. So if you have ``:first_name`` and ``:last_name`` but a method like ``name`` to join them, it can be indexed.
43
44 acts_as_indexed :fields => [:name, :biography]
45
46 #...
47
48 def name
49 (first_name, last_name).compact.join(' ')
50 end
51
a8e679d @parndt Converted to a Rails3/Refinery CMS engine.
parndt authored
52 You will need to replace the indexed fields with those appropriate for your model.
14c27f3 @joemsak Helpful tips in the README
joemsak authored
53
eed054b @joemsak These changes help it work in Rails3 RefineryCMS acceptably.
joemsak authored
54
a8e679d @parndt Converted to a Rails3/Refinery CMS engine.
parndt authored
55 If you wish to override the url used in the search results just add a ``url`` method to your model and the result of this method will be used instead.
Something went wrong with that request. Please try again.