I'm trying to add a Moderation Dashboard tab to the user page like the Moderation Dashboard module, but I can't use Panels. Is it possible to create a layout on a route using layout builder?

I've created the route in msk_module/my_module.routing.yml with

  path: '/user/{user}/dashboard'
    _title: 'Moderation Dashboard'
    _controller: '\Drupal\my_module\Controller\MyModuleDashboardController::index'
    _user_is_logged_in: 'TRUE'

And the links task in msk_module/my_module.links.task.yml with

  route_name: my_module.moderation_dashboard
  base_route: entity.user.canonical
  title: 'Moderation Dashboard'
  weight: 30

And started the controller in msk_module/src/Controller/MyModuleDashboardController.php with


namespace Drupal\my_module\Controller;

use Drupal\Core\Controller\ControllerBase;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;

 * Controller for moderation dashboard.
class MyModuleDashboardController extends ControllerBase {

   * Display the markup.
   * @return array
   *   Return markup array.
  public function index() {
    return [
      '#type' => 'markup',
      '#markup' => $this->t('Hello, World!'),


So the tab is where I want it. The contents for the tab are the block views displays from the views from Moderation Dashboard. I suppose I can use hook_theme() and a template and some small amount of CSS. Just wondering if layout builder can do the same thing as the panel in page manager can do?

  • The Layout Builder module works with content entities, which include the User entity, not generic routes.
    – apaderno
    Jun 11 '20 at 20:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.