trinion_base-1.0.x-dev/src/Controller/DashboardController.php

src/Controller/DashboardController.php
<?php

namespace Drupal\trinion_base\Controller;

use Drupal\Core\Controller\ControllerBase;
use Drupal\Core\Extension\Extension;
use Drupal\trinion_base\Widget;

class DashboardController extends ControllerBase {

  /**
   * Builds the response.
   */
  public function build() {
    $build['#attached']['library'][] = 'trinion_backend/charts';

    $plugin_service = \Drupal::service('plugin.manager.trinion_widget');
    $plugins = $plugin_service->getDefinitions();
    if ($plugins) {
      foreach ($plugin_service->getDefinitions() as $plugin_id => $plugin) {
        $instance = $plugin_service->createInstance($plugin_id);
        $build['content'][$instance->getId()] = [
          '#theme' => 'trinion_widget_' . $instance->getType(),
          '#data' => $instance->getData([]),
          '#title' => $instance->getTitle(),
          '#weight' => $instance->getWeight(),
          '#id' => $instance->getId(),
        ];
      }
    }
    else {
      $build['content'] = [
        '#markup' => t('Widgets list is empty'),
      ];
    }
    return $build;
  }
}

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

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