Delete was a tab for config entities.

Now is is a link.

Before delete for config entities was specified in the .module file
core/modules/contact/contact.module
@@ -77,12 +77,6 @@ function contact_menu() {
- $items['admin/structure/contact/manage/%contact_category/delete'] = array(
- 'title' => 'Delete',
- 'route_name' => 'contact.category_delete',
- 'type' => MENU_LOCAL_TASK,
- 'weight' => 10,
- );
Now routing specifies the title.
core/modules/contact/contact.routing.yml
@@ -2,6 +2,7 @@ contact.category_delete:
path: 'admin/structure/contact/manage/{contact_category}/delete'
defaults:
_entity_form: contact_category.delete
+ _title: 'Delete'
requirements:
Because 'Delete' is not a tab or action, it does not need to be in the hook_menu() definition; only a routing entry is required. Configuration list controllers should still include the delete operation. The base configuration form controller also includes the delete action in the form which makes the specially styled (in core red) 'Delete' link show up in the edit controller form (in addition to the save button). The inclusion of 'Delete' in the list controller operations drop-down as well as the edit form actions at the bottom is the standard implementation for configuration entities. Avoid adding a tab for the delete operation if at all possible.
Config Entities effected:
- Blocks (block)
- Custom blocks (custom-blocks)
- Contact category (contact)
- Image styles (image-styles)
- Languages (language)
- Menus (menu)
- Picture (picturemapping)
- Shortcut (shortcut)
- Regional date format (date-time)