/** * Load the datagrid * * @return void */ private function loadDataGrid() { // init var $items = array(); // get active modules $modules = BackendModel::getModules(); // loop active modules foreach ($modules as $module) { // check if their is a model-file if (SpoonFile::exists(BACKEND_MODULES_PATH . '/' . $module . '/engine/model.php')) { // require the model-file require_once BACKEND_MODULES_PATH . '/' . $module . '/engine/model.php'; // build class name $className = SpoonFilter::toCamelCase('backend_' . $module . '_model'); // check if the getByTag-method is available if (is_callable(array($className, 'getByTag'))) { // make the call and get the item $moduleItems = (array) call_user_func(array($className, 'getByTag'), $this->id); // loop items foreach ($moduleItems as $row) { // check if needed fields are available if (isset($row['url'], $row['name'], $row['module'])) { // add $items[] = array('module' => ucfirst(BL::lbl(SpoonFilter::toCamelCase($row['module']))), 'name' => $row['name'], 'url' => $row['url']); } } } } } // create datagrid $this->dgUsage = new BackendDataGridArray($items); // disable paging $this->dgUsage->setPaging(false); // hide columns $this->dgUsage->setColumnsHidden(array('url')); // set headers $this->dgUsage->setHeaderLabels(array('name' => ucfirst(BL::lbl('Title')), 'url' => '')); // set url $this->dgUsage->setColumnURL('name', '[url]', ucfirst(BL::lbl('Edit'))); // add use column $this->dgUsage->addColumn('edit', null, ucfirst(BL::lbl('Edit')), '[url]', BL::lbl('Edit')); }