3093 Posts in 875 Topics by 654 members
|
Page:
1
|
Go to End | |
| Author | Topic: | 1161 Views |
-
Scaffolded search form shows only one field

7 November 2009 at 1:19am
Hi folks,
at the moment I'm working on some portal and encountered a problem with scaffolded search forms. I'm using a code example from the wiki to create a search form in my application.
Everything works fine, except the fact that I only get one field for the search. As far as I understood the magic, there should be one search field per defined (whitelist) field in my getCustomSearchField() method.
I did some debug on the $fields with Debug::dump() which showed me a larger object structure where I could only find the "title" and some recursions, but not the other defined fields.
I double-checked my database declarations in the model and all fields are there, icluding the correct data types.Any ideas?
code:
public function getCustomSearchContext()
{
$fields = $this->scaffoldSearchFields( array(
'restrictFields' => array(
'Title',
'Content',
'Instrument',
'Plz',
'Location',
'Ambition',
'ExpiryDate'
)
)
);$filters = array(
'Title' => new PartialMatchFilter( 'Title' ),
'Content' => new PartialMatchFilter( 'Content' ),
'Instrument' => new ExactMatchFilter( 'Instrument' ),
'Plz' => new PartialMatchFilter( 'Plz' ),
'Location' => new ExactMatchFilter( 'Location' ),
'Ambition' => new ExactMatchFilter( 'Ambition' ),
'ExpiryDate' => new LessThanFilter( 'ExpiryDate' ),
);return new SearchContext(
$this->class,
$fields,
$filters
);
} -
Re: Scaffolded search form shows only one field

7 November 2009 at 7:28am
I just came across this problem yesterday. You have to declare the searchable fields first in your controller. (At least, that's what worked for me-- someone else may offer a cleaner explanation):
static $searchable_fields = array(
'Title' => 'PartialMatchFilter',
'Content' => 'PartialMatchFilter',
'Instrument' => 'ExactMatchFilter',
'Plz' => 'PartialMatchFilter',
'Location' => 'PartialMatchFilter',);
(etc., etc...)
Does this help?
-
Re: Scaffolded search form shows only one field

7 November 2009 at 9:21pm Last edited: 9 November 2009 10:18pm
Hi AlaVive,
it worked! I tested it with the additional $searchable_fields array - that did the trick.
So I will comment on the tutorial mentioned above, that the definition of searchable fields is needed (SS 2.3.3).
Thank you
| 1161 Views | ||
|
Page:
1
|
Go to Top |
