/** * @param Controller $controller * @param String $method * @param string $suggestURL */ public function __construct($controller, $method, $suggestURL = '') { $searchField = TextField::create('q', ''); $searchField->setAttribute('placeholder', _t('ShopSearch.SEARCH', 'Search')); if ($suggestURL) { $searchField->setAttribute('data-suggest-url', $suggestURL); } $fields = FieldList::create($searchField); if (!self::config()->disable_category_dropdown) { $cats = ShopSearch::get_category_hierarchy(0, '', self::config()->category_max_depth); $catField = DropdownField::create(self::get_category_field(), '', $cats, Session::get('LastSearchCatID')); $emptyString = self::config()->category_empty_string; if ($emptyString !== 'NONE') { $catField->setEmptyString(_t('ShopSearch.' . $emptyString, $emptyString)); } $fields->push($catField); } parent::__construct($controller, $method, $fields, FieldList::create(array(FormAction::create('results', _t('ShopSearch.GO', 'Go'))))); $this->setFormMethod('GET'); $this->disableSecurityToken(); if ($c = self::config()->css_classes) { $this->addExtraClass($c); } Requirements::css(SHOP_SEARCH_FOLDER . '/css/ShopSearch.css'); if (Config::inst()->get('ShopSearch', 'suggest_enabled')) { Requirements::javascript(THIRDPARTY_DIR . '/jquery-ui/jquery-ui.js'); Requirements::css(THIRDPARTY_DIR . '/jquery-ui-themes/smoothness/jquery-ui.css'); Requirements::javascript(SHOP_SEARCH_FOLDER . '/javascript/search.suggest.js'); Requirements::javascript(SHOP_SEARCH_FOLDER . '/javascript/search.js'); } }