Вход Регистрация
Файл: cms/code/search/ContentControllerSearchExtension.php
Строк: 42
<?php
/**
 * Extension to provide a search interface when applied to ContentController
 *
 * @package cms
 * @subpackage search
 */
class ContentControllerSearchExtension extends Extension {
    private static 
$allowed_actions = array(
        
'SearchForm',
        
'results',
    );

    
/**
     * Site search form
     */
    
public function SearchForm() {
        
$searchText =  _t('SearchForm.SEARCH''Search');

        if(
$this->owner->getRequest() && $this->owner->getRequest()->getVar('Search')) {
            
$searchText $this->owner->getRequest()->getVar('Search');
        }

        
$fields = new FieldList(
            new 
TextField('Search'false$searchText)
        );
        
$actions = new FieldList(
            new 
FormAction('results'_t('SearchForm.GO''Go'))
        );
        
$form SearchForm::create($this->owner'SearchForm'$fields$actions);
        
$form->classesToSearch(FulltextSearchable::get_searchable_classes());
        return 
$form;
    }

    
/**
     * Process and render search results.
     *
     * @param array $data The raw request data submitted by user
     * @param SearchForm $form The form instance that was submitted
     * @param SS_HTTPRequest $request Request generated for this action
     */
    
public function results($data$form$request) {
        
$data = array(
            
'Results' => $form->getResults(),
            
'Query' => DBField::create_field('Text'$form->getSearchQuery()),
            
'Title' => _t('SearchForm.SearchResults''Search Results')
        );
        return 
$this->owner->customise($data)->renderWith(array('Page_results''Page'));
    }
}
Онлайн: 2
Реклама