/**
  * @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');
     }
 }