acquia_commercemanager-8.x-1.122/modules/acm/src/Controller/DashboardController.php

modules/acm/src/Controller/DashboardController.php
<?php

namespace Drupal\acm\Controller;

use Drupal\acm\CommerceDashboardItemManager;
use Drupal\Core\Controller\ControllerBase;
use Drupal\system\SystemManager;
use Symfony\Component\DependencyInjection\ContainerInterface;

/**
 * Returns responses for Acquia Commerce Manager routes.
 */
class DashboardController extends ControllerBase {

  /**
   * Dashboard Manager.
   *
   * @var \Drupal\acm\CommerceDashboardItemManager
   */
  protected $dashboardManager;

  /**
   * System Manager Service.
   *
   * @var \Drupal\system\SystemManager
   */
  protected $systemManager;

  /**
   * DashboardController constructor.
   *
   * @param \Drupal\acm\CommerceDashboardItemManager $dashboardManager
   *   Dashboard manager.
   * @param \Drupal\system\SystemManager $systemManager
   *   System manager service.
   */
  public function __construct(CommerceDashboardItemManager $dashboardManager, SystemManager $systemManager) {
    $this->dashboardManager = $dashboardManager;
    $this->systemManager = $systemManager;
  }

  /**
   * {@inheritdoc}
   */
  public static function create(ContainerInterface $container) {
    return new static(
      $container->get('plugin.manager.acm_dashboard_item'),
      $container->get('system.manager')
    );
  }

  /**
   * Builds the response.
   */
  public function build() {
    $build['content'] = [
      '#theme' => 'dashboard',
      '#items' => $this->dashboardManager->getDashboardItems(),
      '#menu' => $this->systemManager->getBlockContents(),
    ];
    $build['#attached']['library'][] = 'acm/dashboard';

    return $build;
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc