'.$this->pageTitle.''; if (!isset($limit)) $limit = 20; if (!isset($limitOptions)) $limitOptions = array(10, 20, 50, 200); if (!isset($height)) $height = 'auto'; if (!isset($gridId)) $gridId = $this->params['controller'] . '-jqGrid'; // Do some prework to bring in the appropriate libraries $imgpath = '/pmgr/site/css/jqGrid/basic/images'; $html->css('jqGrid/basic/grid', null, null, false); $html->css('jqGrid/jqModal', null, null, false); $javascript->link('jqGrid/jquery.jqGrid.js', false); $javascript->link('jqGrid/js/jqModal', false); $javascript->link('jqGrid/js/jqDnR', false); // Create the javascript code for jqGrid to create each table column $colModels = array(); foreach ($jqGridColumns AS $col) { $col['name'] = $col['index']; $colModels[] = '{ ' . implode(", ", array_map(create_function ('$k, $v', 'return "$k:".($v===false?"false":($v===true?"true":"\'$v\'"));'), array_keys($col), array_values($col))) . '}'; } // Save just the column indices (fields) $colFields= array_map(create_function('$col', 'return $col["index"];'), $jqGridColumns); // Define the URL to fetch data from. // To prevent having to keep the controller and the view // in sync on which fields need to be queried by the // controller in order to be accessible to the view, // we'll just pass the desired fields to the controller // as part of the data fetch. $url = $html->url(array('action' => 'jqGridData', 'debug' => 0, )); // OK, now that everything is in place, get out of PHP mode, // and add the javascript code (along with a touch of HTML) // to kick this thing off. ?>