Issue #2143933 by tim.plunkett, pwolanin, dawehner: Add _title and _title_callback to all routes.

8.0.x
webchick 2013-11-27 23:44:52 -08:00
parent 405d504752
commit 063b5cd333
41 changed files with 205 additions and 82 deletions

View File

@ -1,6 +1,7 @@
action.admin: action.admin:
path: '/admin/config/system/actions' path: '/admin/config/system/actions'
defaults: defaults:
_title: 'Actions'
_entity_list: 'action' _entity_list: 'action'
requirements: requirements:
_permission: 'administer actions' _permission: 'administer actions'

View File

@ -119,13 +119,9 @@ function aggregator_menu() {
'route_name' => 'aggregator.categories', 'route_name' => 'aggregator.categories',
); );
$items['aggregator/categories/%aggregator_category'] = array( $items['aggregator/categories/%aggregator_category'] = array(
'title callback' => '_aggregator_category_title',
'title arguments' => array(2),
'route_name' => 'aggregator.category_view', 'route_name' => 'aggregator.category_view',
); );
$items['aggregator/sources/%aggregator_feed'] = array( $items['aggregator/sources/%aggregator_feed'] = array(
'title callback' => 'entity_page_label',
'title arguments' => array(2),
'route_name' => 'aggregator.feed_view', 'route_name' => 'aggregator.feed_view',
); );
$items['admin/config/services/aggregator/edit/feed/%aggregator_feed'] = array( $items['admin/config/services/aggregator/edit/feed/%aggregator_feed'] = array(
@ -148,19 +144,6 @@ function aggregator_menu() {
return $items; return $items;
} }
/**
* Title callback: Returns a title for aggregator category pages.
*
* @param $category
* An aggregator category.
*
* @return
* A string with the aggregator category title.
*/
function _aggregator_category_title($category) {
return $category->title;
}
/** /**
* Implements hook_permission(). * Implements hook_permission().
*/ */

View File

@ -10,6 +10,7 @@ aggregator.admin_settings:
path: '/admin/config/services/aggregator/settings' path: '/admin/config/services/aggregator/settings'
defaults: defaults:
_form: '\Drupal\aggregator\Form\SettingsForm' _form: '\Drupal\aggregator\Form\SettingsForm'
_title: 'Settings'
requirements: requirements:
_permission: 'administer news feeds' _permission: 'administer news feeds'
@ -17,6 +18,7 @@ aggregator.feed_items_delete:
path: '/admin/config/services/aggregator/remove/{aggregator_feed}' path: '/admin/config/services/aggregator/remove/{aggregator_feed}'
defaults: defaults:
_entity_form: 'aggregator_feed.remove_items' _entity_form: 'aggregator_feed.remove_items'
_title: 'Remove items'
requirements: requirements:
_permission: 'administer news feeds' _permission: 'administer news feeds'
@ -24,6 +26,7 @@ aggregator.feed_delete:
path: '/admin/config/services/aggregator/delete/feed/{aggregator_feed}' path: '/admin/config/services/aggregator/delete/feed/{aggregator_feed}'
defaults: defaults:
_entity_form: 'aggregator_feed.delete' _entity_form: 'aggregator_feed.delete'
_title: 'Delete feed'
requirements: requirements:
_permission: 'administer news feeds' _permission: 'administer news feeds'
@ -31,6 +34,7 @@ aggregator.feed_add:
path: '/admin/config/services/aggregator/add/feed' path: '/admin/config/services/aggregator/add/feed'
defaults: defaults:
_content: '\Drupal\aggregator\Controller\AggregatorController::feedAdd' _content: '\Drupal\aggregator\Controller\AggregatorController::feedAdd'
_title: 'Add feed'
requirements: requirements:
_permission: 'administer news feeds' _permission: 'administer news feeds'
@ -38,6 +42,7 @@ aggregator.feed_configure:
path: '/aggregator/sources/{aggregator_feed}/configure' path: '/aggregator/sources/{aggregator_feed}/configure'
defaults: defaults:
_entity_form: 'aggregator_feed.default' _entity_form: 'aggregator_feed.default'
_title: 'Configure'
requirements: requirements:
_permission: 'administer news feeds' _permission: 'administer news feeds'
@ -45,6 +50,7 @@ aggregator.feed_edit:
path: '/admin/config/services/aggregator/edit/feed/{aggregator_feed}' path: '/admin/config/services/aggregator/edit/feed/{aggregator_feed}'
defaults: defaults:
_entity_form: 'aggregator_feed.default' _entity_form: 'aggregator_feed.default'
_title: 'Edit feed'
requirements: requirements:
_permission: 'administer news feeds' _permission: 'administer news feeds'
@ -52,6 +58,7 @@ aggregator.feed_refresh:
path: '/admin/config/services/aggregator/update/{aggregator_feed}' path: '/admin/config/services/aggregator/update/{aggregator_feed}'
defaults: defaults:
_controller: '\Drupal\aggregator\Controller\AggregatorController::feedRefresh' _controller: '\Drupal\aggregator\Controller\AggregatorController::feedRefresh'
_title: 'Update items'
requirements: requirements:
_permission: 'administer news feeds' _permission: 'administer news feeds'
@ -59,6 +66,7 @@ aggregator.opml_add:
path: '/admin/config/services/aggregator/add/opml' path: '/admin/config/services/aggregator/add/opml'
defaults: defaults:
_form: '\Drupal\aggregator\Form\OpmlFeedAdd' _form: '\Drupal\aggregator\Form\OpmlFeedAdd'
_title: 'Import OMPL'
requirements: requirements:
_permission: 'administer news feeds' _permission: 'administer news feeds'
@ -66,6 +74,7 @@ aggregator.feed_view:
path: '/aggregator/sources/{aggregator_feed}' path: '/aggregator/sources/{aggregator_feed}'
defaults: defaults:
_content: '\Drupal\aggregator\Controller\AggregatorController::viewFeed' _content: '\Drupal\aggregator\Controller\AggregatorController::viewFeed'
_title_callback: '\Drupal\aggregator\Controller\AggregatorController::feedTitle'
requirements: requirements:
_permission: 'access news feeds' _permission: 'access news feeds'
@ -73,6 +82,7 @@ aggregator.page_last:
path: '/aggregator' path: '/aggregator'
defaults: defaults:
_controller: '\Drupal\aggregator\Controller\AggregatorController::pageLast' _controller: '\Drupal\aggregator\Controller\AggregatorController::pageLast'
_title: 'Feed aggregator'
requirements: requirements:
_permission: 'access news feeds' _permission: 'access news feeds'
@ -80,6 +90,7 @@ aggregator.sources:
path: '/aggregator/sources' path: '/aggregator/sources'
defaults: defaults:
_content: '\Drupal\aggregator\Controller\AggregatorController::sources' _content: '\Drupal\aggregator\Controller\AggregatorController::sources'
_title: 'Sources'
requirements: requirements:
_permission: 'access news feeds' _permission: 'access news feeds'
@ -87,6 +98,7 @@ aggregator.categories:
path: '/aggregator/categories' path: '/aggregator/categories'
defaults: defaults:
_content: '\Drupal\aggregator\Controller\AggregatorController::categories' _content: '\Drupal\aggregator\Controller\AggregatorController::categories'
_title: 'Categories'
requirements: requirements:
_access_aggregator_categories: 'TRUE' _access_aggregator_categories: 'TRUE'
@ -94,6 +106,7 @@ aggregator.category_view:
path: '/aggregator/categories/{cid}' path: '/aggregator/categories/{cid}'
defaults: defaults:
_content: '\Drupal\aggregator\Controller\AggregatorController::viewCategory' _content: '\Drupal\aggregator\Controller\AggregatorController::viewCategory'
_title_callback: '\Drupal\aggregator\Controller\AggregatorController::categoryTitle'
requirements: requirements:
_permission: 'access news feeds' _permission: 'access news feeds'
@ -101,6 +114,7 @@ aggregator.category_edit:
path: '/aggregator/categories/{cid}/configure' path: '/aggregator/categories/{cid}/configure'
defaults: defaults:
_form: '\Drupal\aggregator\Form\CategoryAdminForm' _form: '\Drupal\aggregator\Form\CategoryAdminForm'
_title: 'Configure'
requirements: requirements:
_permission: 'administer news feeds' _permission: 'administer news feeds'
@ -115,6 +129,7 @@ aggregator.category_delete:
path: '/admin/config/services/aggregator/delete/category/{cid}' path: '/admin/config/services/aggregator/delete/category/{cid}'
defaults: defaults:
_form: '\Drupal\aggregator\Form\CategoryDeleteForm' _form: '\Drupal\aggregator\Form\CategoryDeleteForm'
_title: 'Delete category'
requirements: requirements:
_permission: 'administer news feeds' _permission: 'administer news feeds'
@ -122,6 +137,7 @@ aggregator.category_add:
path: '/admin/config/services/aggregator/add/category' path: '/admin/config/services/aggregator/add/category'
defaults: defaults:
_form: '\Drupal\aggregator\Form\CategoryAdminForm' _form: '\Drupal\aggregator\Form\CategoryAdminForm'
_title: 'Add category'
requirements: requirements:
_permission: 'administer news feeds' _permission: 'administer news feeds'
@ -129,6 +145,7 @@ aggregator.categorize_category_form:
path: '/aggregator/categories/{cid}/categorize' path: '/aggregator/categories/{cid}/categorize'
defaults: defaults:
_form: '\Drupal\aggregator\Form\CategorizeCategoryForm' _form: '\Drupal\aggregator\Form\CategorizeCategoryForm'
_title: 'Categorize'
requirements: requirements:
_permission: 'administer news feeds' _permission: 'administer news feeds'
@ -136,6 +153,7 @@ aggregator.categorize_feed_form:
path: '/aggregator/sources/{aggregator_feed}/categorize' path: '/aggregator/sources/{aggregator_feed}/categorize'
defaults: defaults:
_form: '\Drupal\aggregator\Form\CategorizeFeedForm' _form: '\Drupal\aggregator\Form\CategorizeFeedForm'
_title: 'Categorize'
requirements: requirements:
_permission: 'administer news feeds' _permission: 'administer news feeds'

View File

@ -7,6 +7,7 @@
namespace Drupal\aggregator\Controller; namespace Drupal\aggregator\Controller;
use Drupal\Component\Utility\Xss;
use Drupal\Core\Controller\ControllerBase; use Drupal\Core\Controller\ControllerBase;
use Drupal\Core\DependencyInjection\ContainerInjectionInterface; use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
use Drupal\aggregator\CategoryStorageControllerInterface; use Drupal\aggregator\CategoryStorageControllerInterface;
@ -92,7 +93,6 @@ class AggregatorController extends ControllerBase implements ContainerInjectionI
$items = $entity_manager->getStorageController('aggregator_item')->loadByFeed($aggregator_feed->id()); $items = $entity_manager->getStorageController('aggregator_item')->loadByFeed($aggregator_feed->id());
// Print the feed items. // Print the feed items.
$build = $this->buildPageList($items, $feed_source); $build = $this->buildPageList($items, $feed_source);
$build['#title'] = $aggregator_feed->label();
return $build; return $build;
} }
@ -106,10 +106,8 @@ class AggregatorController extends ControllerBase implements ContainerInjectionI
* The render array with list of items for the feed. * The render array with list of items for the feed.
*/ */
public function viewCategory($cid) { public function viewCategory($cid) {
$category = $this->categoryStorage->load($cid);
$items = $this->entityManager()->getStorageController('aggregator_item')->loadByCategory($cid); $items = $this->entityManager()->getStorageController('aggregator_item')->loadByCategory($cid);
$build = $this->buildPageList($items); $build = $this->buildPageList($items);
$build['#title'] = $category->title;
return $build; return $build;
} }
@ -384,4 +382,31 @@ class AggregatorController extends ControllerBase implements ContainerInjectionI
return $response; return $response;
} }
/**
* Route title callback.
*
* @param \Drupal\aggregator\FeedInterface $aggregator_feed
* The aggregator feed.
*
* @return string
* The feed label.
*/
public function feedTitle(FeedInterface $aggregator_feed) {
return Xss::filter($aggregator_feed->label());
}
/**
* Route title callback.
*
* @param int $cid
* The category ID.
*
* @return string
* The category label.
*/
public function categoryTitle($cid) {
$category = $this->categoryStorage->load($cid);
return Xss::filter($category->title);
}
} }

View File

@ -2,6 +2,7 @@ ban.admin_page:
path: '/admin/config/people/ban/{default_ip}' path: '/admin/config/people/ban/{default_ip}'
defaults: defaults:
_form: '\Drupal\ban\Form\BanAdmin' _form: '\Drupal\ban\Form\BanAdmin'
_title: 'IP address bans'
default_ip: '' default_ip: ''
requirements: requirements:
_permission: 'ban IP addresses' _permission: 'ban IP addresses'
@ -10,5 +11,6 @@ ban.delete:
path: '/admin/config/people/ban/delete/{ban_id}' path: '/admin/config/people/ban/delete/{ban_id}'
defaults: defaults:
_form: '\Drupal\ban\Form\BanDelete' _form: '\Drupal\ban\Form\BanDelete'
_title: 'Delete IP address'
requirements: requirements:
_permission: 'ban IP addresses' _permission: 'ban IP addresses'

View File

@ -25,6 +25,7 @@ block.admin_display:
path: '/admin/structure/block' path: '/admin/structure/block'
defaults: defaults:
_content: '\Drupal\block\Controller\BlockListController::listing' _content: '\Drupal\block\Controller\BlockListController::listing'
_title: 'Block layout'
requirements: requirements:
_permission: 'administer blocks' _permission: 'administer blocks'

View File

@ -2,6 +2,7 @@ book.render:
path: '/book' path: '/book'
defaults: defaults:
_content: '\Drupal\book\Controller\BookController::bookRender' _content: '\Drupal\book\Controller\BookController::bookRender'
_title: 'Books'
requirements: requirements:
_permission: 'access content' _permission: 'access content'
@ -9,6 +10,7 @@ book.admin:
path: '/admin/structure/book' path: '/admin/structure/book'
defaults: defaults:
_content: '\Drupal\book\Controller\BookController::adminOverview' _content: '\Drupal\book\Controller\BookController::adminOverview'
_title: 'Books'
requirements: requirements:
_permission: 'administer book outlines' _permission: 'administer book outlines'
@ -16,6 +18,7 @@ book.settings:
path: '/admin/structure/book/settings' path: '/admin/structure/book/settings'
defaults: defaults:
_form: '\Drupal\book\Form\BookSettingsForm' _form: '\Drupal\book\Form\BookSettingsForm'
_title: 'Books'
requirements: requirements:
_permission: 'administer site configuration' _permission: 'administer site configuration'
@ -31,6 +34,7 @@ book.outline:
path: '/node/{node}/outline' path: '/node/{node}/outline'
defaults: defaults:
_entity_form: 'node.book_outline' _entity_form: 'node.book_outline'
_title: 'Outline'
requirements: requirements:
_permission: 'administer book outlines' _permission: 'administer book outlines'
_entity_access: 'node.view' _entity_access: 'node.view'

View File

@ -69,6 +69,7 @@ comment.bundle_list:
path: '/admin/structure/comments' path: '/admin/structure/comments'
defaults: defaults:
_content: 'Drupal\comment\Controller\AdminController::overviewBundles' _content: 'Drupal\comment\Controller\AdminController::overviewBundles'
_title: 'Comment forms'
requirements: requirements:
_permission: 'administer comments' _permission: 'administer comments'

View File

@ -10,6 +10,7 @@ contact.category_list:
path: '/admin/structure/contact' path: '/admin/structure/contact'
defaults: defaults:
_entity_list: 'contact_category' _entity_list: 'contact_category'
_title: 'Contact form categories'
requirements: requirements:
_permission: 'administer contact forms' _permission: 'administer contact forms'
@ -25,6 +26,7 @@ contact.category_edit:
path: '/admin/structure/contact/manage/{contact_category}' path: '/admin/structure/contact/manage/{contact_category}'
defaults: defaults:
_entity_form: contact_category.edit _entity_form: contact_category.edit
_title: 'Edit contact category'
requirements: requirements:
_entity_access: contact_category.update _entity_access: contact_category.update

View File

@ -2,6 +2,7 @@ dblog.overview:
path: '/admin/reports/dblog' path: '/admin/reports/dblog'
defaults: defaults:
_content: '\Drupal\dblog\Controller\DbLogController::overview' _content: '\Drupal\dblog\Controller\DbLogController::overview'
_title: 'Recent log messages'
requirements: requirements:
_permission: 'access site reports' _permission: 'access site reports'
@ -9,6 +10,7 @@ dblog.event:
path: '/admin/reports/event/{event_id}' path: '/admin/reports/event/{event_id}'
defaults: defaults:
_content: '\Drupal\dblog\Controller\DbLogController::eventDetails' _content: '\Drupal\dblog\Controller\DbLogController::eventDetails'
_title: 'Details'
requirements: requirements:
_permission: 'access site reports' _permission: 'access site reports'

View File

@ -2,6 +2,7 @@ entity.display_mode:
path: '/admin/structure/display-modes' path: '/admin/structure/display-modes'
defaults: defaults:
_content: '\Drupal\system\Controller\SystemController::systemAdminMenuBlockPage' _content: '\Drupal\system\Controller\SystemController::systemAdminMenuBlockPage'
_title: 'Display modes'
requirements: requirements:
_permission: 'administer display modes' _permission: 'administer display modes'
@ -9,6 +10,7 @@ entity.view_mode_list:
path: '/admin/structure/display-modes/view' path: '/admin/structure/display-modes/view'
defaults: defaults:
_entity_list: 'view_mode' _entity_list: 'view_mode'
_title: 'View modes'
requirements: requirements:
_permission: 'administer display modes' _permission: 'administer display modes'
@ -24,6 +26,7 @@ entity.view_mode_add_type:
path: '/admin/structure/display-modes/view/add/{entity_type}' path: '/admin/structure/display-modes/view/add/{entity_type}'
defaults: defaults:
_entity_form: 'view_mode.add' _entity_form: 'view_mode.add'
_title: 'Add view mode'
requirements: requirements:
_permission: 'administer display modes' _permission: 'administer display modes'
@ -31,6 +34,7 @@ entity.view_mode_edit:
path: '/admin/structure/display-modes/view/manage/{view_mode}' path: '/admin/structure/display-modes/view/manage/{view_mode}'
defaults: defaults:
_entity_form: 'view_mode.edit' _entity_form: 'view_mode.edit'
_title: 'Edit view mode'
requirements: requirements:
_entity_access: 'view_mode.update' _entity_access: 'view_mode.update'
@ -38,6 +42,7 @@ entity.view_mode_delete:
path: '/admin/structure/display-modes/view/manage/{view_mode}/delete' path: '/admin/structure/display-modes/view/manage/{view_mode}/delete'
defaults: defaults:
_entity_form: 'view_mode.delete' _entity_form: 'view_mode.delete'
_title: 'Delete view mode'
requirements: requirements:
_entity_access: 'view_mode.delete' _entity_access: 'view_mode.delete'
@ -45,6 +50,7 @@ entity.form_mode_list:
path: '/admin/structure/display-modes/form' path: '/admin/structure/display-modes/form'
defaults: defaults:
_entity_list: 'form_mode' _entity_list: 'form_mode'
_title: 'Form modes'
requirements: requirements:
_permission: 'administer display modes' _permission: 'administer display modes'
@ -60,6 +66,7 @@ entity.form_mode_add_type:
path: '/admin/structure/display-modes/form/add/{entity_type}' path: '/admin/structure/display-modes/form/add/{entity_type}'
defaults: defaults:
_entity_form: 'form_mode.add' _entity_form: 'form_mode.add'
_title: 'Add form mode'
requirements: requirements:
_permission: 'administer display modes' _permission: 'administer display modes'
@ -67,6 +74,7 @@ entity.form_mode_edit:
path: '/admin/structure/display-modes/form/manage/{form_mode}' path: '/admin/structure/display-modes/form/manage/{form_mode}'
defaults: defaults:
_entity_form: 'form_mode.edit' _entity_form: 'form_mode.edit'
_title: 'Edit form mode'
requirements: requirements:
_entity_access: 'form_mode.update' _entity_access: 'form_mode.update'
@ -74,5 +82,6 @@ entity.form_mode_delete:
path: '/admin/structure/display-modes/form/manage/{form_mode}/delete' path: '/admin/structure/display-modes/form/manage/{form_mode}/delete'
defaults: defaults:
_entity_form: 'form_mode.delete' _entity_form: 'form_mode.delete'
_title: 'Delete form mode'
requirements: requirements:
_entity_access: 'form_mode.delete' _entity_access: 'form_mode.delete'

View File

@ -2,5 +2,6 @@ field_ui.list:
path: '/admin/reports/fields' path: '/admin/reports/fields'
defaults: defaults:
_entity_list: 'field_entity' _entity_list: 'field_entity'
_title: 'Field list'
requirements: requirements:
_permission: 'administer content types' _permission: 'administer content types'

View File

@ -2,6 +2,7 @@ filter.tips_all:
path: '/filter/tips' path: '/filter/tips'
defaults: defaults:
_content: '\Drupal\filter\Controller\FilterController::filterTips' _content: '\Drupal\filter\Controller\FilterController::filterTips'
_title: 'Compose tips'
requirements: requirements:
_access: 'TRUE' _access: 'TRUE'
@ -9,6 +10,7 @@ filter.tips:
path: '/filter/tips/{filter_format}' path: '/filter/tips/{filter_format}'
defaults: defaults:
_content: '\Drupal\filter\Controller\FilterController::filterTips' _content: '\Drupal\filter\Controller\FilterController::filterTips'
_title: 'Compose tips'
requirements: requirements:
_entity_access: 'filter_format.view' _entity_access: 'filter_format.view'
@ -40,6 +42,7 @@ filter.admin_disable:
path: '/admin/config/content/formats/manage/{filter_format}/disable' path: '/admin/config/content/formats/manage/{filter_format}/disable'
defaults: defaults:
_entity_form: 'filter_format.disable' _entity_form: 'filter_format.disable'
_title: 'Disable text format'
requirements: requirements:
_filter_disable_format_access: 'TRUE' _filter_disable_format_access: 'TRUE'
_permission: 'administer filters' _permission: 'administer filters'

View File

@ -2,6 +2,7 @@ forum.delete:
path: '/admin/structure/forum/delete/forum/{taxonomy_term}' path: '/admin/structure/forum/delete/forum/{taxonomy_term}'
defaults: defaults:
_form: '\Drupal\forum\Form\DeleteForm' _form: '\Drupal\forum\Form\DeleteForm'
_title: 'Delete forum'
requirements: requirements:
_permission: 'administer forums' _permission: 'administer forums'
@ -9,6 +10,7 @@ forum.settings:
path: '/admin/structure/forum/settings' path: '/admin/structure/forum/settings'
defaults: defaults:
_form: '\Drupal\forum\ForumSettingsForm' _form: '\Drupal\forum\ForumSettingsForm'
_title: 'Forums'
requirements: requirements:
_permission: 'administer forums' _permission: 'administer forums'
@ -16,6 +18,7 @@ forum.index:
path: '/forum' path: '/forum'
defaults: defaults:
_content: '\Drupal\forum\Controller\ForumController::forumIndex' _content: '\Drupal\forum\Controller\ForumController::forumIndex'
_title: 'Forums'
requirements: requirements:
_permission: 'access content' _permission: 'access content'
@ -30,6 +33,7 @@ forum.add_container:
path: '/admin/structure/forum/add/container' path: '/admin/structure/forum/add/container'
defaults: defaults:
_content: '\Drupal\forum\Controller\ForumController::addContainer' _content: '\Drupal\forum\Controller\ForumController::addContainer'
_title: 'Add container'
requirements: requirements:
_permission: 'administer forums' _permission: 'administer forums'
@ -37,6 +41,7 @@ forum.add_forum:
path: '/admin/structure/forum/add/forum' path: '/admin/structure/forum/add/forum'
defaults: defaults:
_content: '\Drupal\forum\Controller\ForumController::addForum' _content: '\Drupal\forum\Controller\ForumController::addForum'
_title: 'Add forum'
requirements: requirements:
_permission: 'administer forums' _permission: 'administer forums'
@ -44,6 +49,7 @@ forum.edit_container:
path: '/admin/structure/forum/edit/container/{taxonomy_term}' path: '/admin/structure/forum/edit/container/{taxonomy_term}'
defaults: defaults:
_entity_form: 'taxonomy_term.container' _entity_form: 'taxonomy_term.container'
_title: 'Edit container'
requirements: requirements:
_permission: 'administer forums' _permission: 'administer forums'
@ -51,6 +57,7 @@ forum.edit_forum:
path: '/admin/structure/forum/edit/forum/{taxonomy_term}' path: '/admin/structure/forum/edit/forum/{taxonomy_term}'
defaults: defaults:
_entity_form: 'taxonomy_term.forum' _entity_form: 'taxonomy_term.forum'
_title: 'Edit forum'
requirements: requirements:
_permission: 'administer forums' _permission: 'administer forums'
@ -58,5 +65,6 @@ forum.overview:
path: '/admin/structure/forum' path: '/admin/structure/forum'
defaults: defaults:
_form: '\Drupal\forum\Form\Overview' _form: '\Drupal\forum\Form\Overview'
_title: 'Forums'
requirements: requirements:
_permission: 'administer forums' _permission: 'administer forums'

View File

@ -2,6 +2,7 @@ help.main:
path: '/admin/help' path: '/admin/help'
defaults: defaults:
_content: '\Drupal\help\Controller\HelpController::helpMain' _content: '\Drupal\help\Controller\HelpController::helpMain'
_title: 'Help'
requirements: requirements:
_permission: 'access administration pages' _permission: 'access administration pages'
@ -9,5 +10,6 @@ help.page:
path: '/admin/help/{name}' path: '/admin/help/{name}'
defaults: defaults:
_content: '\Drupal\help\Controller\HelpController::helpPage' _content: '\Drupal\help\Controller\HelpController::helpPage'
_title: 'Help'
requirements: requirements:
_permission: 'access administration pages' _permission: 'access administration pages'

View File

@ -2,6 +2,7 @@ image.style_add:
path: '/admin/config/media/image-styles/add' path: '/admin/config/media/image-styles/add'
defaults: defaults:
_entity_form: image_style.add _entity_form: image_style.add
_title: 'Add image style'
requirements: requirements:
_permission: 'administer image styles' _permission: 'administer image styles'
@ -9,6 +10,7 @@ image.style_edit:
path: '/admin/config/media/image-styles/manage/{image_style}' path: '/admin/config/media/image-styles/manage/{image_style}'
defaults: defaults:
_entity_form: image_style.edit _entity_form: image_style.edit
_title: 'Edit style'
requirements: requirements:
_permission: 'administer image styles' _permission: 'administer image styles'
@ -32,6 +34,7 @@ image.effect_delete:
path: '/admin/config/media/image-styles/manage/{image_style}/effects/{image_effect}/delete' path: '/admin/config/media/image-styles/manage/{image_style}/effects/{image_effect}/delete'
defaults: defaults:
_form: '\Drupal\image\Form\ImageEffectDeleteForm' _form: '\Drupal\image\Form\ImageEffectDeleteForm'
_title: 'Delete image effect'
requirements: requirements:
_permission: 'administer image styles' _permission: 'administer image styles'
@ -39,6 +42,7 @@ image.style_list:
path: '/admin/config/media/image-styles' path: '/admin/config/media/image-styles'
defaults: defaults:
_entity_list: 'image_style' _entity_list: 'image_style'
_title: 'Image styles'
requirements: requirements:
_permission: 'administer image styles' _permission: 'administer image styles'
@ -53,6 +57,7 @@ image.effect_add_form:
path: '/admin/config/media/image-styles/manage/{image_style}/add/{image_effect}' path: '/admin/config/media/image-styles/manage/{image_style}/add/{image_effect}'
defaults: defaults:
_form: '\Drupal\image\Form\ImageEffectAddForm' _form: '\Drupal\image\Form\ImageEffectAddForm'
_title: 'Add image effect'
requirements: requirements:
_permission: 'administer image styles' _permission: 'administer image styles'
@ -60,5 +65,6 @@ image.effect_edit_form:
path: '/admin/config/media/image-styles/manage/{image_style}/effects/{image_effect}' path: '/admin/config/media/image-styles/manage/{image_style}/effects/{image_effect}'
defaults: defaults:
_form: '\Drupal\image\Form\ImageEffectEditForm' _form: '\Drupal\image\Form\ImageEffectEditForm'
_title: 'Edit image effect'
requirements: requirements:
_permission: 'administer image styles' _permission: 'administer image styles'

View File

@ -23,6 +23,7 @@ language.add:
path: '/admin/config/regional/language/add' path: '/admin/config/regional/language/add'
defaults: defaults:
_entity_form: 'language_entity.add' _entity_form: 'language_entity.add'
_title: 'Add language'
requirements: requirements:
_entity_create_access: 'language_entity' _entity_create_access: 'language_entity'
@ -38,6 +39,7 @@ language.admin_overview:
path: '/admin/config/regional/language' path: '/admin/config/regional/language'
defaults: defaults:
_entity_list: 'language_entity' _entity_list: 'language_entity'
_title: 'Languages'
requirements: requirements:
_permission: 'administer languages' _permission: 'administer languages'
@ -45,6 +47,7 @@ language.delete:
path: '/admin/config/regional/language/delete/{language_entity}' path: '/admin/config/regional/language/delete/{language_entity}'
defaults: defaults:
_entity_form: 'language_entity.delete' _entity_form: 'language_entity.delete'
_title: 'Delete language'
requirements: requirements:
_entity_access: 'language_entity.delete' _entity_access: 'language_entity.delete'

View File

@ -2,6 +2,7 @@ locale.settings:
path: '/admin/config/regional/translate/settings' path: '/admin/config/regional/translate/settings'
defaults: defaults:
_form: 'Drupal\locale\Form\LocaleSettingsForm' _form: 'Drupal\locale\Form\LocaleSettingsForm'
_title: 'Settings'
requirements: requirements:
_permission: 'translate interface' _permission: 'translate interface'
@ -16,6 +17,7 @@ locale.translate_page:
path: '/admin/config/regional/translate' path: '/admin/config/regional/translate'
defaults: defaults:
_content: 'Drupal\locale\Controller\LocaleController::translatePage' _content: 'Drupal\locale\Controller\LocaleController::translatePage'
_title: 'User interface translation'
requirements: requirements:
_permission: 'translate interface' _permission: 'translate interface'

View File

@ -7,6 +7,7 @@
namespace Drupal\menu\Controller; namespace Drupal\menu\Controller;
use Drupal\Component\Utility\Xss;
use Drupal\Core\DependencyInjection\ContainerInjectionInterface; use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
use Drupal\Core\Entity\EntityManagerInterface; use Drupal\Core\Entity\EntityManagerInterface;
use Drupal\menu_link\MenuLinkStorageControllerInterface; use Drupal\menu_link\MenuLinkStorageControllerInterface;
@ -96,4 +97,17 @@ class MenuController implements ContainerInjectionInterface {
return $this->entityManager->getForm($menu_link); return $this->entityManager->getForm($menu_link);
} }
/**
* Route title callback.
*
* @param \Drupal\system\MenuInterface $menu
* The menu entity.
*
* @return string
* The menu label.
*/
public function menuTitle(MenuInterface $menu) {
return Xss::filter($menu->label());
}
} }

View File

@ -2,6 +2,7 @@ menu.settings:
path: '/admin/structure/menu/settings' path: '/admin/structure/menu/settings'
defaults: defaults:
_form: 'Drupal\menu\MenuSettingsForm' _form: 'Drupal\menu\MenuSettingsForm'
_title: 'Menus'
requirements: requirements:
_permission: 'administer menu' _permission: 'administer menu'
@ -32,6 +33,7 @@ menu.link_edit:
path: '/admin/structure/menu/item/{menu_link}/edit' path: '/admin/structure/menu/item/{menu_link}/edit'
defaults: defaults:
_entity_form: 'menu_link' _entity_form: 'menu_link'
_title: 'Edit menu link'
requirements: requirements:
_entity_access: 'menu_link.update' _entity_access: 'menu_link.update'
@ -39,6 +41,7 @@ menu.link_reset:
path: '/admin/structure/menu/item/{menu_link}/reset' path: '/admin/structure/menu/item/{menu_link}/reset'
defaults: defaults:
_entity_form: 'menu_link.reset' _entity_form: 'menu_link.reset'
_title: 'Reset menu link'
requirements: requirements:
_entity_access: 'menu_link.reset' _entity_access: 'menu_link.reset'
@ -46,6 +49,7 @@ menu.link_delete:
path: '/admin/structure/menu/item/{menu_link}/delete' path: '/admin/structure/menu/item/{menu_link}/delete'
defaults: defaults:
_entity_form: 'menu_link.delete' _entity_form: 'menu_link.delete'
_title: 'Delete menu link'
requirements: requirements:
_entity_access: 'menu_link.delete' _entity_access: 'menu_link.delete'
@ -53,6 +57,7 @@ menu.menu_add:
path: '/admin/structure/menu/add' path: '/admin/structure/menu/add'
defaults: defaults:
_entity_form: 'menu.add' _entity_form: 'menu.add'
_title: 'Add menu'
requirements: requirements:
_entity_create_access: 'menu' _entity_create_access: 'menu'
@ -60,6 +65,7 @@ menu.menu_edit:
path: '/admin/structure/menu/manage/{menu}' path: '/admin/structure/menu/manage/{menu}'
defaults: defaults:
_entity_form: 'menu.edit' _entity_form: 'menu.edit'
_title_callback: '\Drupal\menu\Controller\MenuController::menuTitle'
requirements: requirements:
_entity_access: 'menu.update' _entity_access: 'menu.update'

View File

@ -182,7 +182,7 @@ function theme_node_preview($variables) {
* @deprecated Use \Drupal\node\Controller\NodeController::revisionOverview() * @deprecated Use \Drupal\node\Controller\NodeController::revisionOverview()
*/ */
function node_revision_overview($node) { function node_revision_overview($node) {
drupal_set_title(t('Revisions for %title', array('%title' => $node->label())), PASS_THROUGH); $build['#title'] = t('Revisions for %title', array('%title' => $node->label()));
$header = array(t('Revision'), t('Operations')); $header = array(t('Revision'), t('Operations'));

View File

@ -74,6 +74,7 @@ node.revision_revert_confirm:
path: '/node/{node}/revisions/{node_revision}/revert' path: '/node/{node}/revisions/{node_revision}/revert'
defaults: defaults:
_form: '\Drupal\node\Form\NodeRevisionRevertForm' _form: '\Drupal\node\Form\NodeRevisionRevertForm'
_title: 'Revert to earlier revision'
requirements: requirements:
_access_node_revision: 'update' _access_node_revision: 'update'
@ -81,6 +82,7 @@ node.revision_delete_confirm:
path: '/node/{node}/revisions/{node_revision}/delete' path: '/node/{node}/revisions/{node_revision}/delete'
defaults: defaults:
_form: '\Drupal\node\Form\NodeRevisionDeleteForm' _form: '\Drupal\node\Form\NodeRevisionDeleteForm'
_title: 'Delete earlier revision'
requirements: requirements:
_access_node_revision: 'delete' _access_node_revision: 'delete'
@ -97,6 +99,7 @@ node.type_add:
path: '/admin/structure/types/add' path: '/admin/structure/types/add'
defaults: defaults:
_entity_form: 'node_type.add' _entity_form: 'node_type.add'
_title: 'Add content type'
requirements: requirements:
_permission: 'administer content types' _permission: 'administer content types'

View File

@ -2,6 +2,7 @@ path.delete:
path: '/admin/config/search/path/delete/{pid}' path: '/admin/config/search/path/delete/{pid}'
defaults: defaults:
_form: '\Drupal\path\Form\DeleteForm' _form: '\Drupal\path\Form\DeleteForm'
_title: 'Delete alias'
requirements: requirements:
_permission: 'administer url aliases' _permission: 'administer url aliases'

View File

@ -2,6 +2,7 @@ picture.mapping_page:
path: '/admin/config/media/picturemapping' path: '/admin/config/media/picturemapping'
defaults: defaults:
_entity_list: 'picture_mapping' _entity_list: 'picture_mapping'
_title: 'Picture mappings'
requirements: requirements:
_permission: 'administer pictures' _permission: 'administer pictures'
@ -9,6 +10,7 @@ picture.mapping_page_add:
path: '/admin/config/media/picturemapping/add' path: '/admin/config/media/picturemapping/add'
defaults: defaults:
_entity_form: 'picture_mapping.add' _entity_form: 'picture_mapping.add'
_title: 'Add picture mapping'
requirements: requirements:
_permission: 'administer pictures' _permission: 'administer pictures'
@ -16,6 +18,7 @@ picture.mapping_page_edit:
path: '/admin/config/media/picturemapping/{picture_mapping}' path: '/admin/config/media/picturemapping/{picture_mapping}'
defaults: defaults:
_entity_form: 'picture_mapping.edit' _entity_form: 'picture_mapping.edit'
_title: 'Edit picture mapping'
requirements: requirements:
_permission: 'administer pictures' _permission: 'administer pictures'
@ -23,6 +26,7 @@ picture.mapping_page_duplicate:
path: '/admin/config/media/picturemapping/{picture_mapping}/duplicate' path: '/admin/config/media/picturemapping/{picture_mapping}/duplicate'
defaults: defaults:
_entity_form: 'picture_mapping.duplicate' _entity_form: 'picture_mapping.duplicate'
_title: 'Duplicate picture mapping'
requirements: requirements:
_permission: 'administer pictures' _permission: 'administer pictures'

View File

@ -2,6 +2,7 @@ search.settings:
path: '/admin/config/search/settings' path: '/admin/config/search/settings'
defaults: defaults:
_form: '\Drupal\search\Form\SearchSettingsForm' _form: '\Drupal\search\Form\SearchSettingsForm'
_title: 'Search settings'
requirements: requirements:
_permission: 'administer search' _permission: 'administer search'
@ -9,6 +10,7 @@ search.reindex_confirm:
path: '/admin/config/search/settings/reindex' path: '/admin/config/search/settings/reindex'
defaults: defaults:
_form: '\Drupal\search\Form\ReindexConfirm' _form: '\Drupal\search\Form\ReindexConfirm'
_title: 'Clear index'
requirements: requirements:
_permission: 'administer search' _permission: 'administer search'

View File

@ -199,7 +199,7 @@ function shortcut_set_switch_submit($form, &$form_state) {
* @deprecated Use \Drupal\shortcut\Form\ShortcutForm::add() * @deprecated Use \Drupal\shortcut\Form\ShortcutForm::add()
*/ */
function shortcut_link_add($form, &$form_state, $shortcut_set) { function shortcut_link_add($form, &$form_state, $shortcut_set) {
drupal_set_title(t('Add new shortcut')); $form['#title'] = t('Add new shortcut');
$form['shortcut_set'] = array( $form['shortcut_set'] = array(
'#type' => 'value', '#type' => 'value',
'#value' => $shortcut_set, '#value' => $shortcut_set,
@ -228,7 +228,7 @@ function shortcut_link_add($form, &$form_state, $shortcut_set) {
* @deprecated Use \Drupal\shortcut\Form\ShortcutForm::edit() * @deprecated Use \Drupal\shortcut\Form\ShortcutForm::edit()
*/ */
function shortcut_link_edit($form, &$form_state, $shortcut_link) { function shortcut_link_edit($form, &$form_state, $shortcut_link) {
drupal_set_title(t('Editing @shortcut', array('@shortcut' => $shortcut_link['link_title']))); $form['#title'] = t('Editing @shortcut', array('@shortcut' => $shortcut_link['link_title']));
$form['original_shortcut_link'] = array( $form['original_shortcut_link'] = array(
'#type' => 'value', '#type' => 'value',
'#value' => $shortcut_link, '#value' => $shortcut_link,

View File

@ -2,6 +2,7 @@ shortcut.link_delete:
path: '/admin/config/user-interface/shortcut/link/{menu_link}/delete' path: '/admin/config/user-interface/shortcut/link/{menu_link}/delete'
defaults: defaults:
_form: 'Drupal\shortcut\Form\LinkDelete' _form: 'Drupal\shortcut\Form\LinkDelete'
_title: 'Delete shortcut'
requirements: requirements:
_access_shortcut_link: 'TRUE' _access_shortcut_link: 'TRUE'
@ -17,6 +18,7 @@ shortcut.set_admin:
path: '/admin/config/user-interface/shortcut' path: '/admin/config/user-interface/shortcut'
defaults: defaults:
_entity_list: 'shortcut_set' _entity_list: 'shortcut_set'
_title: 'Shortcuts'
requirements: requirements:
_permission: 'administer shortcuts' _permission: 'administer shortcuts'
@ -24,6 +26,7 @@ shortcut.set_add:
path: '/admin/config/user-interface/shortcut/add-set' path: '/admin/config/user-interface/shortcut/add-set'
defaults: defaults:
_entity_form: 'shortcut_set.add' _entity_form: 'shortcut_set.add'
_title: 'Add shortcut set'
requirements: requirements:
_entity_create_access: 'shortcut_set' _entity_create_access: 'shortcut_set'
@ -31,6 +34,7 @@ shortcut.set_edit:
path: '/admin/config/user-interface/shortcut/manage/{shortcut_set}/edit' path: '/admin/config/user-interface/shortcut/manage/{shortcut_set}/edit'
defaults: defaults:
_entity_form: 'shortcut_set.edit' _entity_form: 'shortcut_set.edit'
_title: 'Edit shortcut set'
requirements: requirements:
_entity_access: 'shortcut_set.update' _entity_access: 'shortcut_set.update'
@ -46,6 +50,7 @@ shortcut.set_customize:
path: '/admin/config/user-interface/shortcut/manage/{shortcut_set}' path: '/admin/config/user-interface/shortcut/manage/{shortcut_set}'
defaults: defaults:
_entity_form: 'shortcut_set.customize' _entity_form: 'shortcut_set.customize'
_title: 'List links'
requirements: requirements:
_entity_access: 'shortcut_set.update' _entity_access: 'shortcut_set.update'

View File

@ -2,6 +2,7 @@ simpletest.settings:
path: '/admin/config/development/testing/settings' path: '/admin/config/development/testing/settings'
defaults: defaults:
_form: 'Drupal\simpletest\Form\SimpletestSettingsForm' _form: 'Drupal\simpletest\Form\SimpletestSettingsForm'
_title: 'Settings'
requirements: requirements:
_permission: 'administer unit tests' _permission: 'administer unit tests'
@ -9,6 +10,7 @@ simpletest.test_form:
path: '/admin/config/development/testing' path: '/admin/config/development/testing'
defaults: defaults:
_form: '\Drupal\simpletest\Form\SimpletestTestForm' _form: '\Drupal\simpletest\Form\SimpletestTestForm'
_title: 'Testing'
requirements: requirements:
_permission: 'administer unit tests' _permission: 'administer unit tests'
@ -16,5 +18,6 @@ simpletest.result_form:
path: '/admin/config/development/testing/results/{test_id}' path: '/admin/config/development/testing/results/{test_id}'
defaults: defaults:
_form: 'Drupal\simpletest\Form\SimpletestResultsForm' _form: 'Drupal\simpletest\Form\SimpletestResultsForm'
_title: 'Test result'
requirements: requirements:
_permission: 'administer unit tests' _permission: 'administer unit tests'

View File

@ -2,5 +2,6 @@ statistics.settings:
path: '/admin/config/system/statistics' path: '/admin/config/system/statistics'
defaults: defaults:
_form: 'Drupal\statistics\StatisticsSettingsForm' _form: 'Drupal\statistics\StatisticsSettingsForm'
_title: 'Statistics'
requirements: requirements:
_permission: 'administer statistics' _permission: 'administer statistics'

View File

@ -322,8 +322,7 @@ class BreadcrumbTest extends MenuTestBase {
)); ));
$this->drupalLogin($this->web_user); $this->drupalLogin($this->web_user);
// Verify correct breadcrumb and page title on another user's account pages // Verify correct breadcrumb and page title on another user's account pages.
// (without menu link).
$trail = $home; $trail = $home;
$this->assertBreadcrumb('user/' . $this->admin_user->id(), $trail, $this->admin_user->getUsername()); $this->assertBreadcrumb('user/' . $this->admin_user->id(), $trail, $this->admin_user->getUsername());
$trail += array( $trail += array(
@ -331,8 +330,7 @@ class BreadcrumbTest extends MenuTestBase {
); );
$this->assertBreadcrumb('user/' . $this->admin_user->id() . '/edit', $trail, $this->admin_user->getUsername()); $this->assertBreadcrumb('user/' . $this->admin_user->id() . '/edit', $trail, $this->admin_user->getUsername());
// Verify correct breadcrumb and page title when viewing own user account // Verify correct breadcrumb and page title when viewing own user account.
// pages (without menu link).
$trail = $home; $trail = $home;
$this->assertBreadcrumb('user/' . $this->web_user->id(), $trail, $this->web_user->getUsername()); $this->assertBreadcrumb('user/' . $this->web_user->id(), $trail, $this->web_user->getUsername());
$trail += array( $trail += array(
@ -343,38 +341,6 @@ class BreadcrumbTest extends MenuTestBase {
); );
$this->assertBreadcrumb('user/' . $this->web_user->id() . '/edit', $trail, $this->web_user->getUsername(), $tree); $this->assertBreadcrumb('user/' . $this->web_user->id() . '/edit', $trail, $this->web_user->getUsername(), $tree);
// Add a Tools menu links for 'user' and $this->admin_user.
// Although it may be faster to manage these links via low-level API
// functions, there's a lot that can go wrong in doing so.
$this->drupalLogin($this->admin_user);
$edit = array(
'link_title' => 'User',
'link_path' => 'user',
);
$this->drupalPostForm("admin/structure/menu/manage/$menu/add", $edit, t('Save'));
$menu_links_user = entity_load_multiple_by_properties('menu_link', array('link_title' => $edit['link_title'], 'link_path' => $edit['link_path']));
$link_user = reset($menu_links_user);
$edit = array(
'link_title' => $this->admin_user->getUsername() . ' link',
'link_path' => 'user/' . $this->admin_user->id(),
);
$this->drupalPostForm("admin/structure/menu/manage/$menu/add", $edit, t('Save'));
$menu_links_admin_user = entity_load_multiple_by_properties('menu_link', array('link_title' => $edit['link_title'], 'link_path' => $edit['link_path']));
$link_admin_user = reset($menu_links_admin_user);
// Verify expected breadcrumbs for the two separate links.
$this->drupalLogout();
$trail = $home;
$tree = array(
$link_user['link_path'] => $link_user['link_title'],
);
$this->assertBreadcrumb('user', $trail, $link_user['link_title'], $tree);
$tree = array(
$link_admin_user['link_path'] => $link_admin_user['link_title'],
);
// $this->assertBreadcrumb('user/' . $this->admin_user->id(), $trail, $link_admin_user['link_title'], $tree);
// Create an only slightly privileged user being able to access site reports // Create an only slightly privileged user being able to access site reports
// but not administration pages. // but not administration pages.
$this->web_user = $this->drupalCreateUser(array( $this->web_user = $this->drupalCreateUser(array(

View File

@ -2773,7 +2773,7 @@ function confirm_form($form, $question, $path, $description = NULL, $yes = NULL,
$options = array('path' => $path); $options = array('path' => $path);
} }
drupal_set_title($question, PASS_THROUGH); $form['#title'] = $question;
$form['#attributes']['class'][] = 'confirmation'; $form['#attributes']['class'][] = 'confirmation';
$form['description'] = array('#markup' => $description); $form['description'] = array('#markup' => $description);

View File

@ -127,6 +127,7 @@ system.site_information_settings:
path: '/admin/config/system/site-information' path: '/admin/config/system/site-information'
defaults: defaults:
_form: 'Drupal\system\Form\SiteInformationForm' _form: 'Drupal\system\Form\SiteInformationForm'
_title: 'Site information'
requirements: requirements:
_permission: 'administer site configuration' _permission: 'administer site configuration'
@ -134,6 +135,7 @@ system.cron_settings:
path: '/admin/config/system/cron' path: '/admin/config/system/cron'
defaults: defaults:
_form: 'Drupal\system\Form\CronForm' _form: 'Drupal\system\Form\CronForm'
_title: 'Cron'
requirements: requirements:
_permission: 'administer site configuration' _permission: 'administer site configuration'
@ -141,6 +143,7 @@ system.logging_settings:
path: '/admin/config/development/logging' path: '/admin/config/development/logging'
defaults: defaults:
_form: 'Drupal\system\Form\LoggingForm' _form: 'Drupal\system\Form\LoggingForm'
_title: 'Logging and errors'
requirements: requirements:
_permission: 'administer site configuration' _permission: 'administer site configuration'
@ -148,6 +151,7 @@ system.performance_settings:
path: '/admin/config/development/performance' path: '/admin/config/development/performance'
defaults: defaults:
_form: 'Drupal\system\Form\PerformanceForm' _form: 'Drupal\system\Form\PerformanceForm'
_title: 'Performance'
requirements: requirements:
_permission: 'administer site configuration' _permission: 'administer site configuration'
@ -155,6 +159,7 @@ system.file_system_settings:
path: '/admin/config/media/file-system' path: '/admin/config/media/file-system'
defaults: defaults:
_form: 'Drupal\system\Form\FileSystemForm' _form: 'Drupal\system\Form\FileSystemForm'
_title: 'File system'
requirements: requirements:
_permission: 'administer site configuration' _permission: 'administer site configuration'
@ -162,6 +167,7 @@ system.rss_feeds_settings:
path: '/admin/config/services/rss-publishing' path: '/admin/config/services/rss-publishing'
defaults: defaults:
_form: 'Drupal\system\Form\RssFeedsForm' _form: 'Drupal\system\Form\RssFeedsForm'
_title: 'RSS publishing'
requirements: requirements:
_permission: 'administer site configuration' _permission: 'administer site configuration'
@ -169,6 +175,7 @@ system.regional_settings:
path: '/admin/config/regional/settings' path: '/admin/config/regional/settings'
defaults: defaults:
_form: 'Drupal\system\Form\RegionalForm' _form: 'Drupal\system\Form\RegionalForm'
_title: 'Regional settings'
requirements: requirements:
_permission: 'administer site configuration' _permission: 'administer site configuration'
@ -176,6 +183,7 @@ system.image_toolkit_settings:
path: '/admin/config/media/image-toolkit' path: '/admin/config/media/image-toolkit'
defaults: defaults:
_form: 'Drupal\system\Form\ImageToolkitForm' _form: 'Drupal\system\Form\ImageToolkitForm'
_title: 'Image toolkit'
requirements: requirements:
_permission: 'administer administration pages' _permission: 'administer administration pages'
@ -183,6 +191,7 @@ system.site_maintenance_mode:
path: '/admin/config/development/maintenance' path: '/admin/config/development/maintenance'
defaults: defaults:
_form: 'Drupal\system\Form\SiteMaintenanceModeForm' _form: 'Drupal\system\Form\SiteMaintenanceModeForm'
_title: 'Maintenance mode'
requirements: requirements:
_permission: 'administer site configuration' _permission: 'administer site configuration'
@ -197,6 +206,7 @@ system.date_format_list:
path: '/admin/config/regional/date-time' path: '/admin/config/regional/date-time'
defaults: defaults:
_entity_list: 'date_format' _entity_list: 'date_format'
_title: 'Date and time formats'
requirements: requirements:
_permission: 'administer site configuration' _permission: 'administer site configuration'
@ -204,6 +214,7 @@ system.date_format_add:
path: '/admin/config/regional/date-time/formats/add' path: '/admin/config/regional/date-time/formats/add'
defaults: defaults:
_entity_form: 'date_format.add' _entity_form: 'date_format.add'
_title: 'Add date format'
requirements: requirements:
_permission: 'administer site configuration' _permission: 'administer site configuration'
@ -211,6 +222,7 @@ system.date_format_edit:
path: '/admin/config/regional/date-time/formats/manage/{date_format}' path: '/admin/config/regional/date-time/formats/manage/{date_format}'
defaults: defaults:
_entity_form: 'date_format.edit' _entity_form: 'date_format.edit'
_title: 'Edit date format'
requirements: requirements:
_entity_access: 'date_format.update' _entity_access: 'date_format.update'
@ -235,6 +247,7 @@ system.modules_list_confirm:
path: '/admin/modules/list/confirm' path: '/admin/modules/list/confirm'
defaults: defaults:
_form: 'Drupal\system\Form\ModulesListConfirmForm' _form: 'Drupal\system\Form\ModulesListConfirmForm'
_title: 'Some required modules must be enabled'
requirements: requirements:
_permission: 'administer modules' _permission: 'administer modules'
@ -256,6 +269,7 @@ system.status:
path: '/admin/reports/status' path: '/admin/reports/status'
defaults: defaults:
_controller: 'Drupal\system\Controller\SystemInfoController::status' _controller: 'Drupal\system\Controller\SystemInfoController::status'
_title: 'Status report'
requirements: requirements:
_permission: 'administer site configuration' _permission: 'administer site configuration'
@ -309,6 +323,7 @@ system.theme_settings:
path: '/admin/appearance/settings' path: '/admin/appearance/settings'
defaults: defaults:
_form: '\Drupal\system\Form\ThemeSettingsForm' _form: '\Drupal\system\Form\ThemeSettingsForm'
_title: 'Settings'
requirements: requirements:
_permission: 'administer themes' _permission: 'administer themes'
@ -335,6 +350,7 @@ system.modules_uninstall_confirm:
path: '/admin/modules/uninstall/confirm' path: '/admin/modules/uninstall/confirm'
defaults: defaults:
_form: 'Drupal\system\Form\ModulesUninstallConfirmForm' _form: 'Drupal\system\Form\ModulesUninstallConfirmForm'
_title: 'Confirm uninstall'
requirements: requirements:
_permission: 'administer modules' _permission: 'administer modules'

View File

@ -7,6 +7,7 @@
namespace Drupal\taxonomy\Controller; namespace Drupal\taxonomy\Controller;
use Drupal\Component\Utility\Xss;
use Drupal\Core\Controller\ControllerBase; use Drupal\Core\Controller\ControllerBase;
use Drupal\taxonomy\TermInterface; use Drupal\taxonomy\TermInterface;
use Drupal\taxonomy\VocabularyInterface; use Drupal\taxonomy\VocabularyInterface;
@ -42,6 +43,19 @@ class TaxonomyController extends ControllerBase {
return taxonomy_term_page($taxonomy_term); return taxonomy_term_page($taxonomy_term);
} }
/**
* Route title callback.
*
* @param \Drupal\taxonomy\TermInterface $taxonomy_term
* The taxonomy term.
*
* @return string
* The term label.
*/
public function termTitle(TermInterface $taxonomy_term) {
return Xss::filter($taxonomy_term->label());
}
/** /**
* @todo Remove taxonomy_term_feed(). * @todo Remove taxonomy_term_feed().
*/ */

View File

@ -16,9 +16,6 @@ use Drupal\taxonomy\Entity\Term;
* @deprecated Use \Drupal\taxonomy\Controller\TaxonomyController::termPage() * @deprecated Use \Drupal\taxonomy\Controller\TaxonomyController::termPage()
*/ */
function taxonomy_term_page(Term $term) { function taxonomy_term_page(Term $term) {
// Assign the term name as the page title.
drupal_set_title($term->label());
$build['#attached']['drupal_add_feed'][] = array('taxonomy/term/' . $term->id() . '/feed', 'RSS - ' . $term->label()); $build['#attached']['drupal_add_feed'][] = array('taxonomy/term/' . $term->id() . '/feed', 'RSS - ' . $term->label());
foreach ($term->uriRelationships() as $rel) { foreach ($term->uriRelationships() as $rel) {

View File

@ -10,6 +10,7 @@ taxonomy.term_add:
path: '/admin/structure/taxonomy/manage/{taxonomy_vocabulary}/add' path: '/admin/structure/taxonomy/manage/{taxonomy_vocabulary}/add'
defaults: defaults:
_content: '\Drupal\taxonomy\Controller\TaxonomyController::addForm' _content: '\Drupal\taxonomy\Controller\TaxonomyController::addForm'
_title: 'Add term'
requirements: requirements:
_entity_create_access: 'taxonomy_term:{taxonomy_vocabulary}' _entity_create_access: 'taxonomy_term:{taxonomy_vocabulary}'
@ -17,6 +18,7 @@ taxonomy.term_edit:
path: '/taxonomy/term/{taxonomy_term}/edit' path: '/taxonomy/term/{taxonomy_term}/edit'
defaults: defaults:
_entity_form: 'taxonomy_term.default' _entity_form: 'taxonomy_term.default'
_title: 'Edit term'
requirements: requirements:
_entity_access: 'taxonomy_term.update' _entity_access: 'taxonomy_term.update'
@ -24,6 +26,7 @@ taxonomy.term_delete:
path: '/taxonomy/term/{taxonomy_term}/delete' path: '/taxonomy/term/{taxonomy_term}/delete'
defaults: defaults:
_entity_form: 'taxonomy_term.delete' _entity_form: 'taxonomy_term.delete'
_title: 'Delete term'
requirements: requirements:
_entity_access: 'taxonomy_term.delete' _entity_access: 'taxonomy_term.delete'
@ -31,6 +34,7 @@ taxonomy.vocabulary_add:
path: '/admin/structure/taxonomy/add' path: '/admin/structure/taxonomy/add'
defaults: defaults:
_entity_form: 'taxonomy_vocabulary' _entity_form: 'taxonomy_vocabulary'
_title: 'Add vocabulary'
requirements: requirements:
_entity_create_access: 'taxonomy_vocabulary' _entity_create_access: 'taxonomy_vocabulary'
@ -38,6 +42,7 @@ taxonomy.vocabulary_edit:
path: '/admin/structure/taxonomy/manage/{taxonomy_vocabulary}/edit' path: '/admin/structure/taxonomy/manage/{taxonomy_vocabulary}/edit'
defaults: defaults:
_entity_form: 'taxonomy_vocabulary.default' _entity_form: 'taxonomy_vocabulary.default'
_title: 'Edit vocabulary'
requirements: requirements:
_entity_access: 'taxonomy_vocabulary.update' _entity_access: 'taxonomy_vocabulary.update'
@ -45,6 +50,7 @@ taxonomy.vocabulary_delete:
path: '/admin/structure/taxonomy/manage/{taxonomy_vocabulary}/delete' path: '/admin/structure/taxonomy/manage/{taxonomy_vocabulary}/delete'
defaults: defaults:
_entity_form: 'taxonomy_vocabulary.delete' _entity_form: 'taxonomy_vocabulary.delete'
_title: 'Delete vocabulary'
requirements: requirements:
_entity_access: 'taxonomy_vocabulary.delete' _entity_access: 'taxonomy_vocabulary.delete'
@ -80,6 +86,8 @@ taxonomy.term_page:
path: '/taxonomy/term/{taxonomy_term}' path: '/taxonomy/term/{taxonomy_term}'
defaults: defaults:
_content: '\Drupal\taxonomy\Controller\TaxonomyController::termPage' _content: '\Drupal\taxonomy\Controller\TaxonomyController::termPage'
_title: 'Taxonomy term'
_title_callback: '\Drupal\taxonomy\Controller\TaxonomyController::termTitle'
requirements: requirements:
_entity_access: 'taxonomy_term.view' _entity_access: 'taxonomy_term.view'
@ -87,5 +95,7 @@ taxonomy.term_feed:
path: '/taxonomy/term/{taxonomy_term}/feed' path: '/taxonomy/term/{taxonomy_term}/feed'
defaults: defaults:
_content: '\Drupal\taxonomy\Controller\TaxonomyController::termFeed' _content: '\Drupal\taxonomy\Controller\TaxonomyController::termFeed'
_title: 'Taxonomy term'
_title_callback: '\Drupal\taxonomy\Controller\TaxonomyController::termTitle'
requirements: requirements:
_entity_access: 'taxonomy_term.view' _entity_access: 'taxonomy_term.view'

View File

@ -2,6 +2,7 @@ update.settings:
path: '/admin/reports/updates/settings' path: '/admin/reports/updates/settings'
defaults: defaults:
_form: '\Drupal\update\UpdateSettingsForm' _form: '\Drupal\update\UpdateSettingsForm'
_title: 'Settings'
requirements: requirements:
_permission: 'administer site configuration' _permission: 'administer site configuration'
@ -9,6 +10,7 @@ update.status:
path: '/admin/reports/updates' path: '/admin/reports/updates'
defaults: defaults:
_content: '\Drupal\update\Controller\UpdateController::updateStatus' _content: '\Drupal\update\Controller\UpdateController::updateStatus'
_title: 'Available updates'
requirements: requirements:
_permission: 'administer site configuration' _permission: 'administer site configuration'
@ -24,6 +26,7 @@ update.report_install:
path: '/admin/reports/updates/install' path: '/admin/reports/updates/install'
defaults: defaults:
_content: '\Drupal\update\Form\UpdateForm::reportInstall' _content: '\Drupal\update\Form\UpdateForm::reportInstall'
_title: 'Install'
options: options:
_access_mode: 'ALL' _access_mode: 'ALL'
requirements: requirements:
@ -45,6 +48,7 @@ update.module_install:
path: '/admin/modules/install' path: '/admin/modules/install'
defaults: defaults:
_content: '\Drupal\update\Form\UpdateForm::moduleInstall' _content: '\Drupal\update\Form\UpdateForm::moduleInstall'
_title: 'Install new module'
options: options:
_access_mode: 'ALL' _access_mode: 'ALL'
requirements: requirements:
@ -66,6 +70,7 @@ update.theme_install:
path: '/admin/theme/install' path: '/admin/theme/install'
defaults: defaults:
_content: '\Drupal\update\Form\UpdateForm::themeInstall' _content: '\Drupal\update\Form\UpdateForm::themeInstall'
_title: 'Install new theme'
options: options:
_access_mode: 'ALL' _access_mode: 'ALL'
requirements: requirements:

View File

@ -31,6 +31,7 @@ user.admin_index:
path: '/admin/config/people' path: '/admin/config/people'
defaults: defaults:
_content: '\Drupal\system\Controller\SystemController::systemAdminMenuBlockPage' _content: '\Drupal\system\Controller\SystemController::systemAdminMenuBlockPage'
_title: 'People'
requirements: requirements:
_permission: 'access administration pages' _permission: 'access administration pages'
@ -38,6 +39,7 @@ user.account_settings:
path: '/admin/config/people/accounts' path: '/admin/config/people/accounts'
defaults: defaults:
_form: '\Drupal\user\AccountSettingsForm' _form: '\Drupal\user\AccountSettingsForm'
_title: 'Account settings'
requirements: requirements:
_permission: 'administer account settings' _permission: 'administer account settings'
@ -45,6 +47,7 @@ user.admin_account:
path: '/admin/people' path: '/admin/people'
defaults: defaults:
_entity_list: 'user' _entity_list: 'user'
_title: 'People'
requirements: requirements:
_permission: 'administer users' _permission: 'administer users'
@ -52,6 +55,7 @@ user.admin_create:
path: '/admin/people/create' path: '/admin/people/create'
defaults: defaults:
_entity_form: 'user.register' _entity_form: 'user.register'
_title: 'Add user'
requirements: requirements:
_permission: 'administer users' _permission: 'administer users'
@ -59,6 +63,7 @@ user.admin_permissions:
path: '/admin/people/permissions' path: '/admin/people/permissions'
defaults: defaults:
_form: '\Drupal\user\Form\UserPermissionsForm' _form: '\Drupal\user\Form\UserPermissionsForm'
_title: 'Permissions'
requirements: requirements:
_permission: 'administer permissions' _permission: 'administer permissions'
@ -66,6 +71,7 @@ user.admin_permission:
path: '/admin/people/permissions/{role_id}' path: '/admin/people/permissions/{role_id}'
defaults: defaults:
_form: '\Drupal\user\Form\UserPermissionsRoleSpecificForm' _form: '\Drupal\user\Form\UserPermissionsRoleSpecificForm'
_title: 'Edit role'
requirements: requirements:
_permission: 'administer permissions' _permission: 'administer permissions'
@ -81,6 +87,7 @@ user.role_list:
path: '/admin/people/roles' path: '/admin/people/roles'
defaults: defaults:
_entity_list: 'user_role' _entity_list: 'user_role'
_title: 'Roles'
requirements: requirements:
_permission: 'administer permissions' _permission: 'administer permissions'
@ -88,6 +95,7 @@ user.role_add:
path: '/admin/people/roles/add' path: '/admin/people/roles/add'
defaults: defaults:
_entity_form: user_role.default _entity_form: user_role.default
_title: 'Add role'
requirements: requirements:
_permission: 'administer permissions' _permission: 'administer permissions'
@ -102,6 +110,7 @@ user.role_delete:
path: '/admin/people/roles/manage/{user_role}/delete' path: '/admin/people/roles/manage/{user_role}/delete'
defaults: defaults:
_entity_form: user_role.delete _entity_form: user_role.delete
_title: 'Edit role'
requirements: requirements:
_entity_access: user_role.delete _entity_access: user_role.delete
@ -117,6 +126,7 @@ user.page:
path: '/user' path: '/user'
defaults: defaults:
_content: '\Drupal\user\Controller\UserController::userPage' _content: '\Drupal\user\Controller\UserController::userPage'
_title: 'Log in'
requirements: requirements:
_access: 'TRUE' _access: 'TRUE'
@ -140,6 +150,7 @@ user.edit:
path: '/user/{user}/edit' path: '/user/{user}/edit'
defaults: defaults:
_entity_form: 'user.default' _entity_form: 'user.default'
_title_callback: 'Drupal\user\Controller\UserController::userTitle'
requirements: requirements:
_entity_access: 'user.update' _entity_access: 'user.update'

View File

@ -250,7 +250,7 @@ class ViewsUIController implements ContainerInjectionInterface {
if (isset($data['table']['base']['title'])) { if (isset($data['table']['base']['title'])) {
$name .= ' (' . $data['table']['base']['title'] . ')'; $name .= ' (' . $data['table']['base']['title'] . ')';
} }
drupal_set_title($name); $build['#title'] = $name;
$build['edit'] = $this->entityManager->getForm($view, 'edit', array('display_id' => $display_id)); $build['edit'] = $this->entityManager->getForm($view, 'edit', array('display_id' => $display_id));
$build['preview'] = $this->entityManager->getForm($view, 'preview', array('display_id' => $display_id)); $build['preview'] = $this->entityManager->getForm($view, 'preview', array('display_id' => $display_id));

View File

@ -43,15 +43,6 @@ class ViewAddFormController extends ViewFormControllerBase {
); );
} }
/**
* {@inheritdoc}
*/
public function init(array &$form_state) {
parent::init($form_state);
drupal_set_title($this->t('Add new view'));
}
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */

View File

@ -12,15 +12,6 @@ namespace Drupal\views_ui;
*/ */
class ViewCloneFormController extends ViewFormControllerBase { class ViewCloneFormController extends ViewFormControllerBase {
/**
* {@inheritdoc}
*/
public function init(array &$form_state) {
parent::init($form_state);
drupal_set_title($this->t('Clone of @label', array('@label' => $this->entity->label())));
}
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
@ -34,6 +25,8 @@ class ViewCloneFormController extends ViewFormControllerBase {
public function form(array $form, array &$form_state) { public function form(array $form, array &$form_state) {
parent::form($form, $form_state); parent::form($form, $form_state);
$form['#title'] = $this->t('Clone of @label', array('@label' => $this->entity->label()));
$form['label'] = array( $form['label'] = array(
'#type' => 'textfield', '#type' => 'textfield',
'#title' => $this->t('View name'), '#title' => $this->t('View name'),

View File

@ -2,6 +2,7 @@ views_ui.list:
path: '/admin/structure/views' path: '/admin/structure/views'
defaults: defaults:
_entity_list: 'view' _entity_list: 'view'
_title: 'Views'
requirements: requirements:
_permission: 'administer views' _permission: 'administer views'
@ -9,6 +10,7 @@ views_ui.add:
path: '/admin/structure/views/add' path: '/admin/structure/views/add'
defaults: defaults:
_entity_form: 'view.add' _entity_form: 'view.add'
_title: 'Add new view'
requirements: requirements:
_permission: 'administer views' _permission: 'administer views'
@ -16,6 +18,7 @@ views_ui.settings_basic:
path: '/admin/structure/views/settings' path: '/admin/structure/views/settings'
defaults: defaults:
_form: '\Drupal\views_ui\Form\BasicSettingsForm' _form: '\Drupal\views_ui\Form\BasicSettingsForm'
_title: 'Settings'
requirements: requirements:
_permission: 'administer views' _permission: 'administer views'
@ -23,6 +26,7 @@ views_ui.settings_advanced:
path: '/admin/structure/views/settings/advanced' path: '/admin/structure/views/settings/advanced'
defaults: defaults:
_form: '\Drupal\views_ui\Form\AdvancedSettingsForm' _form: '\Drupal\views_ui\Form\AdvancedSettingsForm'
_title: 'Advanced'
requirements: requirements:
_permission: 'administer views' _permission: 'administer views'
@ -30,6 +34,7 @@ views_ui.reports_fields:
path: '/admin/reports/fields/views-fields' path: '/admin/reports/fields/views-fields'
defaults: defaults:
_content: '\Drupal\views_ui\Controller\ViewsUIController::reportFields' _content: '\Drupal\views_ui\Controller\ViewsUIController::reportFields'
_title: 'Used in views'
requirements: requirements:
_permission: 'administer views' _permission: 'administer views'
@ -37,6 +42,7 @@ views_ui.reports_plugins:
path: '/admin/reports/views-plugins' path: '/admin/reports/views-plugins'
defaults: defaults:
_content: '\Drupal\views_ui\Controller\ViewsUIController::reportPlugins' _content: '\Drupal\views_ui\Controller\ViewsUIController::reportPlugins'
_title: 'Views plugins'
requirements: requirements:
_permission: 'administer views' _permission: 'administer views'
@ -52,6 +58,7 @@ views_ui.clone:
path: '/admin/structure/views/view/{view}/clone' path: '/admin/structure/views/view/{view}/clone'
defaults: defaults:
_entity_form: 'view.clone' _entity_form: 'view.clone'
_title: 'Clone view'
requirements: requirements:
_permission: 'administer views' _permission: 'administer views'
@ -59,6 +66,7 @@ views_ui.delete:
path: '/admin/structure/views/view/{view}/delete' path: '/admin/structure/views/view/{view}/delete'
defaults: defaults:
_entity_form: 'view.delete' _entity_form: 'view.delete'
_title: 'Delete view'
requirements: requirements:
_permission: 'administer views' _permission: 'administer views'