You are here

public function FrontPage::content in Image Widget Crop 8

Same name and namespace in other branches
  1. 8.2 modules/image_widget_crop_examples/src/Controller/FrontPage.php \Drupal\image_widget_crop_examples\Controller\FrontPage::content()

Displays useful information for image_widget_crop on the front page.

1 string reference to 'FrontPage::content'
image_widget_crop_examples.routing.yml in modules/image_widget_crop_examples/image_widget_crop_examples.routing.yml
modules/image_widget_crop_examples/image_widget_crop_examples.routing.yml

File

modules/image_widget_crop_examples/src/Controller/FrontPage.php, line 28

Class

FrontPage
Simple front page controller for image_widget_crop_example module.

Namespace

Drupal\image_widget_crop_examples\Controller

Code

public function content() {
  $node_items = [];
  foreach ($this->iwcExampleNodeTypes as $node_type) {
    $node_type = \Drupal::entityTypeManager()
      ->getStorage('node_type')
      ->load($node_type);
    $node_items['#items'][] = $this
      ->t('<a href="@url">@label', [
      '@url' => Url::fromRoute('node.add', [
        'node_type' => $node_type
          ->id(),
      ])
        ->toString(),
      '@label' => $node_type
        ->label(),
    ]);
  }
  return [
    'intro' => [
      '#markup' => '<p>' . $this
        ->t('Welcome to Image Widget Crop example.') . '</p>',
    ],
    'description' => [
      '#markup' => '<p>' . $this
        ->t('Image Widget Crop provides an interface for using the features of the Crop API.') . '</p>' . '<p>' . $this
        ->t('You can test the functionality with custom content types created for the demonstration of features from Image Widget Crop:') . '</p>',
    ],
    'content_types' => [
      '#type' => 'item',
      'list' => [
        '#theme' => 'item_list',
        '#items' => [
          array_values($node_items),
        ],
      ],
    ],
  ];
}