private function loadDataGrid()
{
// init var
$items = array();
// get modules
$modules = BackendModel::getModules();
// loop modules
foreach ($modules as $module) {
// build class name
$className = 'Backend\\Modules\\' . $module . '\\Engine\\Model';
if ($module == 'Core') {
$className = 'Backend\\Core\\Engine\\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' => \SpoonFilter::ucfirst(BL::lbl(\SpoonFilter::toCamelCase($row['module']))), 'name' => $row['name'], 'url' => $row['url']);
}
}
}
}
// create datagrid
$this->dgUsage = new BackendDataGridArray($items);
$this->dgUsage->setPaging(false);
$this->dgUsage->setColumnsHidden(array('url'));
$this->dgUsage->setHeaderLabels(array('name' => \SpoonFilter::ucfirst(BL::lbl('Title')), 'url' => ''));
$this->dgUsage->setColumnURL('name', '[url]', \SpoonFilter::ucfirst(BL::lbl('Edit')));
$this->dgUsage->addColumn('edit', null, \SpoonFilter::ucfirst(BL::lbl('Edit')), '[url]', BL::lbl('Edit'));
}