Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 57 lines (33 sloc) 2.23 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
86e8f9f @joemsak Give credit to the gem and point people there for more info & help on u...
joemsak authored
6 Powered by: [acts_as_indexed](http://github.com/dougal/acts_as_indexed) - Check his readme and documentation for more info on how it works.
7
a8e679d @parndt Converted to a Rails3/Refinery CMS engine.
parndt authored
8 ## Installation
45ec12c Added Readme
Amanda Nicholas authored
9
a8e679d @parndt Converted to a Rails3/Refinery CMS engine.
parndt authored
10 Simply use this by adding the following to your ``Gemfile``:
45ec12c Added Readme
Amanda Nicholas authored
11
aa535af @ugisozols Update readme.
ugisozols authored
12 gem 'refinerycms-search', '~> 2.0.0'
45ec12c Added Readme
Amanda Nicholas authored
13
aa535af @ugisozols Update readme.
ugisozols authored
14 ## RE-SAVE all records that have not been indexed before.
45ec12c Added Readme
Amanda Nicholas authored
15
bafe958 @ugisozols Fix typo in readme.
ugisozols authored
16 A sample search form can be found in [views/refinery/shared/_search.html.erb](http://github.com/resolve/refinerycms-search/blob/master/app/views/refinery/shared/_search.html.erb).
a8e679d @parndt Converted to a Rails3/Refinery CMS engine.
parndt authored
17 You can either use this partial directly, or copy the appropriate parts.
45ec12c Added Readme
Amanda Nicholas authored
18
a8e679d @parndt Converted to a Rails3/Refinery CMS engine.
parndt authored
19 ## Searching
45ec12c Added Readme
Amanda Nicholas authored
20
25a5024 @parndt Let's try a different approach which is far more likely to work :-)
parndt authored
21 The default installation will search in Pages.
22 If you wish to find results in other plugins you have created or installed, you can specify these in ``config/application.rb`` like so:
45ec12c Added Readme
Amanda Nicholas authored
23
25a5024 @parndt Let's try a different approach which is far more likely to work :-)
parndt authored
24 config.to_prepare do
aa535af @ugisozols Update readme.
ugisozols authored
25 Refinery.searchable_models = [Refinery::Page]
25a5024 @parndt Let's try a different approach which is far more likely to work :-)
parndt authored
26 end
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
25a5024 @parndt Let's try a different approach which is far more likely to work :-)
parndt authored
30 config.to_prepare do
aa535af @ugisozols Update readme.
ugisozols authored
31 Refinery.searchable_models = [Refinery::Page, Refinery::PortfolioEntry]
25a5024 @parndt Let's try a different approach which is far more likely to work :-)
parndt authored
32 end
eed054b @joemsak These changes help it work in Rails3 RefineryCMS acceptably.
joemsak authored
33
14c27f3 @joemsak Helpful tips in the README
joemsak authored
34 The above line will add indexing to PortfolioEntry in the portfolio plugin, which does not come indexed.
35
a8e679d @parndt Converted to a Rails3/Refinery CMS engine.
parndt authored
36 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
37
0b7ded1 @awagener Corrected format of sample call to acts_as_indexed
awagener authored
38 acts_as_indexed :fields => [:title, :body]
45ec12c Added Readme
Amanda Nicholas authored
39
14c27f3 @joemsak Helpful tips in the README
joemsak authored
40 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
41
42 alias_attribute :title, :name #for example
43
14c27f3 @joemsak Helpful tips in the README
joemsak authored
44 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.
25a5024 @parndt Let's try a different approach which is far more likely to work :-)
parndt authored
45
c1873c7 @joemsak I don't know how to preview multi markdown pages before pushing.
joemsak authored
46 acts_as_indexed :fields => [:name, :biography]
25a5024 @parndt Let's try a different approach which is far more likely to work :-)
parndt authored
47
c1873c7 @joemsak I don't know how to preview multi markdown pages before pushing.
joemsak authored
48 #...
25a5024 @parndt Let's try a different approach which is far more likely to work :-)
parndt authored
49
c1873c7 @joemsak I don't know how to preview multi markdown pages before pushing.
joemsak authored
50 def name
51 (first_name, last_name).compact.join(' ')
52 end
14c27f3 @joemsak Helpful tips in the README
joemsak authored
53
a8e679d @parndt Converted to a Rails3/Refinery CMS engine.
parndt authored
54 You will need to replace the indexed fields with those appropriate for your model.
14c27f3 @joemsak Helpful tips in the README
joemsak authored
55
eed054b @joemsak These changes help it work in Rails3 RefineryCMS acceptably.
joemsak authored
56
a8e679d @parndt Converted to a Rails3/Refinery CMS engine.
parndt authored
57 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.