Beispiel #1
0
 /**
  * This method returns an html page that can be used as a search form.
  *
  * @param string $name
  * @param array $criteria
  *
  * @return string The html search page.
  */
 public function smartSearchPage($name = '', $criteria = array())
 {
     $node = $this->m_node;
     $page = $this->getPage();
     $ui = $this->getUi();
     $sm = SessionManager::getInstance();
     $page->register_script(Config::getGlobal('assets_url') . 'javascript/tools.js');
     $page->register_script(Config::getGlobal('assets_url') . 'javascript/class.atksmartsearchhandler.js');
     Tools::useattrib('atkdateattribute');
     DateAttribute::registerScriptsAndStyles();
     $params = [];
     $params['formstart'] = '<form name="entryform" action="' . Config::getGlobal('dispatcher') . '" method="post" class="form">' . $sm->formState(SessionManager::SESSION_REPLACE) . '<input type="hidden" name="atkaction" value="smartsearch">' . '<input type="hidden" name="atknodeuri" value="' . $node->atkNodeUri() . '">';
     $params['content'] = $this->invoke('smartSearchForm', $name, $criteria);
     $params['buttons'][] = '<input type="submit" class="btn btn-default btn_search" name="atkdosearch" value="' . Tools::atktext('search', 'atk') . '">';
     $params['formend'] = '</form>';
     $action = $ui->renderAction('smartsearch', $params);
     $box = $ui->renderBox(array('title' => $node->actionTitle('smartsearch'), 'content' => $action));
     return $box;
 }