本文整理汇总了PHP中SearchForm::setFormMethod方法的典型用法代码示例。如果您正苦于以下问题:PHP SearchForm::setFormMethod方法的具体用法?PHP SearchForm::setFormMethod怎么用?PHP SearchForm::setFormMethod使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SearchForm
的用法示例。
在下文中一共展示了SearchForm::setFormMethod方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getForm
public function getForm($filters = true)
{
// Don't allow searching without a valid search engine.
$engine = $this->data()->SearchEngine;
$fulltext = Config::inst()->get('FulltextSearchable', 'searchable_classes');
if (is_null($engine) || $engine === 'Full-Text' && (!is_array($fulltext) || count($fulltext) === 0)) {
return $this->httpError(404);
}
// Construct the search form.
$fields = new FieldList(TextField::create('Search', _t('SearchForm.SEARCH', 'Search'), isset($_GET['Search']) ? $_GET['Search'] : '')->addExtraClass('extensible-search search')->setAttribute('data-suggestions-enabled', Config::inst()->get('ExtensibleSearchSuggestion', 'enable_suggestions') ? 'true' : 'false')->setAttribute('data-extensible-search-page', $this->data()->ID));
// When filters have been enabled, display these in the form.
if ($filters) {
$objFields = $this->data()->getSelectableFields();
// Remove content and groups from being sortable (as they are not relevant).
unset($objFields['Content']);
unset($objFields['Groups']);
// Remove any custom field types and display the sortable options nicely to the user.
foreach ($objFields as &$field) {
if ($customType = strpos($field, ':')) {
$field = substr($field, 0, $customType);
}
// Add spaces between words, other characters and numbers.
$field = ltrim(preg_replace(array('/([A-Z][a-z]+)/', '/([A-Z]{2,})/', '/([_.0-9]+)/'), ' $0', $field));
}
$sortBy = isset($_GET['SortBy']) ? $_GET['SortBy'] : $this->data()->SortBy;
$sortDir = isset($_GET['SortDir']) ? $_GET['SortDir'] : $this->data()->SortDir;
$fields->push(new DropdownField('SortBy', _t('ExtensibleSearchPage.SORT_BY', 'Sort By'), $objFields, $sortBy));
$fields->push(new DropdownField('SortDir', _t('ExtensibleSearchPage.SORT_DIR', 'Sort Direction'), $this->data()->dbObject('SortDir')->enumValues(), $sortDir));
}
$actions = new FieldList(new FormAction('getSearchResults', _t('SearchForm.GO', 'Search')));
$form = new SearchForm($this, 'getForm', $fields, $actions);
$searchable = Config::inst()->get('FulltextSearchable', 'searchable_classes');
if (is_array($searchable) && count($searchable) > 0) {
$form->classesToSearch($searchable);
}
$form->addExtraClass('searchPageForm');
$form->setFormMethod('GET');
$form->disableSecurityToken();
return $form;
}