public PathController::adminOverview(Request $request)
Displays the path administration overview page.
Parameters
\Symfony\Component\HttpFoundation\Request $request: The request object.
Return value
array A render array as expected by drupal_render().
File
- core/modules/path/src/Controller/PathController.php, line 64
Class
- PathController
- Controller routines for path routes.
Namespace
Drupal\path\Controller
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | public function adminOverview(Request $request ) { $keys = $request ->query->get( 'search' ); // Add the filter form above the overview table. $build [ 'path_admin_filter_form' ] = $this ->formBuilder()->getForm( 'Drupal\path\Form\PathFilterForm' , $keys ); // Enable language column if language.module is enabled or if we have any // alias with a language. $multilanguage = ( $this ->moduleHandler()->moduleExists( 'language' ) || $this ->aliasStorage->languageAliasExists()); $header = array (); $header [] = array ( 'data' => $this ->t( 'Alias' ), 'field' => 'alias' , 'sort' => 'asc' ); $header [] = array ( 'data' => $this ->t( 'System' ), 'field' => 'source' ); if ( $multilanguage ) { $header [] = array ( 'data' => $this ->t( 'Language' ), 'field' => 'langcode' ); } $header [] = $this ->t( 'Operations' ); $rows = array (); $destination = $this ->getDestinationArray(); foreach ( $this ->aliasStorage->getAliasesForAdminListing( $header , $keys ) as $data ) { $row = array (); // @todo Should Path module store leading slashes? See $row [ 'data' ][ 'alias' ] = $this ->l(Unicode::truncate( $data ->alias, 50, FALSE, TRUE), Url::fromUserInput( $data ->source, array ( 'attributes' => array ( 'title' => $data ->alias), ))); $row [ 'data' ][ 'source' ] = $this ->l(Unicode::truncate( $data ->source, 50, FALSE, TRUE), Url::fromUserInput( $data ->source, array ( 'alias' => TRUE, 'attributes' => array ( 'title' => $data ->source), ))); if ( $multilanguage ) { $row [ 'data' ][ 'language_name' ] = $this ->languageManager()->getLanguageName( $data ->langcode); } $operations = array (); $operations [ 'edit' ] = array ( 'title' => $this ->t( 'Edit' ), 'url' => Url::fromRoute( 'path.admin_edit' , [ 'pid' => $data ->pid], [ 'query' => $destination ]), ); $operations [ 'delete' ] = array ( 'title' => $this ->t( 'Delete' ), 'url' => Url::fromRoute( 'path.delete' , [ 'pid' => $data ->pid], [ 'query' => $destination ]), ); $row [ 'data' ][ 'operations' ] = array ( 'data' => array ( '#type' => 'operations' , '#links' => $operations , ), ); // If the system path maps to a different URL alias, highlight this table // row to let the user know of old aliases. if ( $data ->alias != $this ->aliasManager->getAliasByPath( $data ->source, $data ->langcode)) { $row [ 'class' ] = array ( 'warning' ); } $rows [] = $row ; } $build [ 'path_table' ] = array ( '#type' => 'table' , '#header' => $header , '#rows' => $rows , '#empty' => $this ->t( 'No URL aliases available. <a href=":link">Add URL alias</a>.' , array ( ':link' => $this ->url( 'path.admin_add' ))), ); $build [ 'path_pager' ] = array ( '#type' => 'pager' ); return $build ; } |
Please login to continue.