/** * Loads the settings form */ private function loadForm() { // init settings form $this->frm = new BackendForm('settings'); // get current settings $this->settings = BackendSearchModel::getModuleSettings(); // add field for pagination $this->frm->addDropdown('overview_num_items', array_combine(range(1, 30), range(1, 30)), $this->get('fork.settings')->get($this->getModule(), 'overview_num_items', 20)); $this->frm->addDropdown('autocomplete_num_items', array_combine(range(1, 30), range(1, 30)), $this->get('fork.settings')->get($this->getModule(), 'autocomplete_num_items', 20)); $this->frm->addDropdown('autosuggest_num_items', array_combine(range(1, 30), range(1, 30)), $this->get('fork.settings')->get($this->getModule(), 'autosuggest_num_items', 20)); // add checkbox for the sitelinks search box in Google $this->frm->addCheckbox('use_sitelinks_search_box', $this->get('fork.settings')->get($this->getModule(), 'use_sitelinks_search_box', true)); // modules that, no matter what, can not be searched $disallowedModules = array('Search'); // loop modules foreach (BackendModel::getModulesForDropDown() as $module => $label) { // check if module is searchable if (!in_array($module, $disallowedModules) && method_exists('Frontend\\Modules\\' . $module . '\\Engine\\Model', 'search')) { // add field to decide whether or not this module is searchable $this->frm->addCheckbox('search_' . $module, isset($this->settings[$module]) ? $this->settings[$module]['searchable'] == 'Y' : false); // add field to decide weight for this module $this->frm->addText('search_' . $module . '_weight', isset($this->settings[$module]) ? $this->settings[$module]['weight'] : 1); // field disabled? if (!isset($this->settings[$module]) || $this->settings[$module]['searchable'] != 'Y') { $this->frm->getField('search_' . $module . '_weight')->setAttribute('disabled', 'disabled'); $this->frm->getField('search_' . $module . '_weight')->setAttribute('class', 'form-control disabled'); } // add to list of modules $this->modules[] = array('module' => $module, 'id' => $this->frm->getField('search_' . $module)->getAttribute('id'), 'label' => $label, 'chk' => $this->frm->getField('search_' . $module)->parse(), 'txt' => $this->frm->getField('search_' . $module . '_weight')->parse(), 'txtError' => ''); } } }