3066 Posts in 866 Topics by 648 members
| Go to End | Next > | |
| Author | Topic: | 1713 Views |
-
Show search parameters in Results Page (CustomSearchContext)

8 September 2010 at 3:29am
Hi all !
Below is my search function, BienImmo being my DataObject...
public function getCustomSearchContext() {
$locs = DataObject::get('Localite');
if ($locs) {
$locs = $locs->toDropdownMap('ID', 'Ville', ' - Ville - ', true);
}$fields = new FieldSet(
new CheckboxSetField(
$name = "Loc_Ville",
$title = "Ville(s) :",
$source = $locs,
$value = ""
),
new TextField('PrixMin', 'Prix Min'),
new TextField('PrixMax', 'Prix Max')
);
$filters = array(
'Loc_Ville' => new ExactMatchMultiFilter('LocaliteID'),
'PrixMin' => new GreaterThanFilter('Prix'),
'PrixMax' => new LessThanFilter('Prix')
);
return new SearchContext(
$this->class,
$fields,
$filters
);
}I need to remember the search parameters in the Results Page.
How can I get those in the results page template ?A better thing would be to re-fill the form with those parameters (checkboxes checked, fields filled....).
Would it be possible ? Is SilverStripe THIS magical ? ;) -
Re: Show search parameters in Results Page (CustomSearchContext)

8 September 2010 at 4:06am
Short version:
$Loc_Ville = $this->request->postVar('Loc_Ville') ? $this->request->postVar('Loc_Ville') : '';
$PrixMin = $this->request->postVar('PrixMin') ? $this->request->postVar('PrixMin') : '';
$PrixMax= $this->request->postVar('PrixMax') ? $this->request->postVar('PrixMax') : '';$fields = new FieldSet(
new CheckboxSetField(
$name = "Loc_Ville",
$title = "Ville(s) :",
$source = $locs,
$value = $Loc_Ville
),
new TextField('PrixMin', $PrixMin),
new TextField('PrixMax', $PrixMax)
); -
Re: Show search parameters in Results Page (CustomSearchContext)

8 September 2010 at 4:48am
Thanks Martijn ! ... but where do I put those lines ?
I understand it names the variables so I can access them ... but I'm a bit lost, can you explain how to use this code ?
Seems your short version is too short for my SilverStripe knowledge !
-
Re: Show search parameters in Results Page (CustomSearchContext)

8 September 2010 at 4:52am
Its the same FieldsSet as you posted.
Replace the FieldsSet with one I posted and put the 3 lines above it.
-
Re: Show search parameters in Results Page (CustomSearchContext)

8 September 2010 at 4:55am
I get this :
Fatal error: Call to a member function postVar() on a non-object in E:\Program Files (x86)\wamp\www\modele_Immo\mysite\code\BienImmo.php on line 54
-
Re: Show search parameters in Results Page (CustomSearchContext)

8 September 2010 at 5:12am
Try this:
$Loc_Ville = '';
$PrixMin = '';
$PrixMax = '';if(isset($this->request)){
$Loc_Ville = $this->request->postVar('Loc_Ville');
$PrixMin = $this->request->postVar('PrixMin');
$PrixMax = $this->request->postVar('PrixMax');
} -
Re: Show search parameters in Results Page (CustomSearchContext)

8 September 2010 at 5:18am
Thank you very much for replying to fast !
Okay that works I have no errors.
The titles of the textfield disapeared, though.How do I access the parameters after the search ?
Putting $Loc_Ville in my template didn't do anything. -
Re: Show search parameters in Results Page (CustomSearchContext)

8 September 2010 at 5:23am
I made the titles of the fields reappear with
new TextField('PrixMin', 'Prix minimum', $PrixMin),
Any idea of how to get the Villes or the Prix Min and Prix max in my results page ?
| 1713 Views | ||
| Go to Top | Next > |


