Download the PHP package creativecodelabs/silverstripe-searchable-dataobjects-innodb without Composer
On this page you can find all versions of the php package creativecodelabs/silverstripe-searchable-dataobjects-innodb. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download creativecodelabs/silverstripe-searchable-dataobjects-innodb
More information about creativecodelabs/silverstripe-searchable-dataobjects-innodb
Files in creativecodelabs/silverstripe-searchable-dataobjects-innodb
Package silverstripe-searchable-dataobjects-innodb
Short Description This module adds DataObjects to frontend search
License GPL-3.0
Informations about the package silverstripe-searchable-dataobjects-innodb
Searchable DataObjects
Searchable DataObjects is a module that permit to include DataObjects into frontend search.
Introduction
Pages are not always the better way to implement things. For example site news can grow rapidly and the first side effect would be a big and difficult to manage SiteTree. DataObjects help maintaining things clean and straight, but unfortunately they are not included in frontend search. This module let you insert DataObject in search.
Requirements
- SilverStripe 3.2.*
- zirak/htmlpurifier
Installation
Install the module through composer:
composer require zirak/searchable-dataobjects
composer update
Make the DataObject (or Pages) implement Searchable interface (you need to implement Link(), getSearchFilter(), getTitleFields(), getContentFields()):
Note: getSearchFilterByCallback()
is an optional filter. If you don't plan on calculating any value to determine a returned true
or false
value it is suggested you don't add this function to your DataObject
or Page
type.
Here you are a sample page holder, needed to implement the Link() function into the DataObject:
Extend Page and the desired DataObjects through the following yaml:
Run a dev/build
and then populate the search table running PopulateSearch task:
sake dev/build "flush=all"
sake dev/tasks/PopulateSearch
Enjoy the news into the search results :)
Modifying
Set the number of search results per page
Setting the CustomSearch.items_per_page
config setting you can define, how many search results per page are shown. Default is 10
By default the search result is shown at the same page, so if you're searching e.g. on the /about-us/, the results are
shown on /about-us/SearchForm/?s=foo. If you don't like that, you can define any Page or Controller class in the
CustomSearch.search_controller
setting. If you set this setting to this
, the current page will be used. Defaults to SearchPage
and falls back to the current page if no SearchPage is found.
TODO
- Add other search method in configuration
Suggested modules
- Linkable DataObjects: http://addons.silverstripe.org/add-ons/zirak/linkable-dataobjects
All versions of silverstripe-searchable-dataobjects-innodb with dependencies
silverstripe/cms Version ^3.2.0
zirak/htmlpurifier Version 1.0.*