getId()) { case 'title': $navigationMenu = $row->getData(); $router = $request->getRouter(); $actionArgs = ['navigationMenuId' => $row->getId()]; return [new LinkAction( 'edit', new AjaxModal( $router->url($request, null, null, 'editNavigationMenu', null, $actionArgs), __('grid.action.edit'), null, true ), htmlspecialchars($navigationMenu->getTitle()) )]; } return parent::getCellActions($request, $row, $column, $position); } /** * Extracts variables for a given column from a data element * so that they may be assigned to template before rendering. * * @param \PKP\controllers\grid\GridRow $row * @param GridColumn $column * * @return array */ public function getTemplateVarsFromRowColumn($row, $column) { $navigationMenu = $row->getData(); $columnId = $column->getId(); assert($navigationMenu instanceof \PKP\navigationMenu\NavigationMenu && !empty($columnId)); switch ($columnId) { case 'title': return ['label' => '']; case 'nmis': $navigationMenuItemDao = DAORegistry::getDAO('NavigationMenuItemDAO'); /** @var NavigationMenuItemDAO $navigationMenuItemDao */ $items = $navigationMenuItemDao->getByMenuId($navigationMenu->getId())->toArray(); $navigationMenusTitles = ''; $templateMgr = TemplateManager::getManager(Application::get()->getRequest()); foreach ($items as $item) { Services::get('navigationMenu')->transformNavMenuItemTitle($templateMgr, $item); $navigationMenusTitles = $navigationMenusTitles . $item->getLocalizedTitle() . ', '; } $navigationMenusTitles = trim($navigationMenusTitles, ', '); return ['label' => $navigationMenusTitles]; default: break; } return parent::getTemplateVarsFromRowColumn($row, $column); } }