You are here

block_content.pages.inc in Drupal 9

Same filename and directory in other branches
  1. 8 core/modules/block_content/block_content.pages.inc

Provides page callbacks for custom blocks.

File

core/modules/block_content/block_content.pages.inc
View source
<?php

/**
 * @file
 * Provides page callbacks for custom blocks.
 */
use Drupal\Core\Link;
use Drupal\Core\Url;

/**
 * Prepares variables for a custom block type creation list templates.
 *
 * Default template: block-content-add-list.html.twig.
 *
 * @param array $variables
 *   An associative array containing:
 *   - content: An array of block types.
 *
 * @see block_content_add_page()
 */
function template_preprocess_block_content_add_list(&$variables) {
  $variables['types'] = [];
  $query = \Drupal::request()->query
    ->all();
  foreach ($variables['content'] as $type) {
    $variables['types'][$type
      ->id()] = [
      'link' => Link::fromTextAndUrl($type
        ->label(), Url::fromRoute('block_content.add_form', [
        'block_content_type' => $type
          ->id(),
      ], [
        'query' => $query,
      ]))
        ->toString(),
      'description' => [
        '#markup' => $type
          ->getDescription(),
      ],
      'title' => $type
        ->label(),
      'localized_options' => [
        'query' => $query,
      ],
    ];
  }
}

Functions

Namesort descending Description
template_preprocess_block_content_add_list Prepares variables for a custom block type creation list templates.