template->content = new View('smart'); $this->template->title = 'Smart Search Panel for jqGrid'; $this->template->render(TRUE); } // Источник данных для Grid public function data() { // Указываем источнику данных, что данные для строк надо возвращать в виде словаря, а не массива $grh = new GridRequestHander(TRUE); // Составляем запрос (указываем каждое поле, которое надо выдать в результате) $q = db::select(array( 'id', 'title', 'date', 'is_active', 'status' )) ->from('bug'); $grh->db = $q; $res = $grh->handle(); if (isset($res->rows)) { foreach($res->rows as $id => $row) { // Если какие-то из столбцов требуют обработки (в том числе замену картинками), то делать это надо примерно так. $this->beforeSend($res->rows[$id]); } } echo json_encode($res); } // Метод доп. обработки данных строки protected function beforeSend(& $row) { // Еслив общей части ничего не надо делать, то здесь пусто. См. метод в модулях. // "new:New Ticket;assigned:Assigned;fixed:Done" if ($row['status']=="new") $row['status'] = "New Ticket"; if ($row['status']=="assigned") $row['status'] = "Assigned"; if ($row['status']=="fixed") $row['status'] = "Done"; } function dialog() { $this->template->content = new View('dialog'); $this->template->title = 'Smart Search Dialog for jqGrid'; $this->template->render(TRUE); } }