ezcontent-8.x-dev/modules/ezcontent_block/modules/ezcontent_listing/ezcontent_listing.module

modules/ezcontent_block/modules/ezcontent_listing/ezcontent_listing.module
<?php

/**
 * @file
 * Used for maintaining content listing component changes.
 */

/**
 * Implements hook_preprocess_block().
 */
function ezcontent_listing_preprocess_block(&$variables) {
  if (in_array($variables['plugin_id'], [
    'content_listing_component',
    'inline_block:content_listing_component',
  ])) {

    $routeOptions = \Drupal::routeMatch()->getRouteObject()->getOptions();
    $blockContentList = isset($routeOptions['_layout_builder']) || isset($routeOptions['_admin_route']) ? $variables['content']['content'] : $variables['content'];
    $block = $blockContentList['#block_content'];

    if (isset($blockContentList) && isset($block)) {
      $block_type = $block->bundle();
      if ($block_type == 'content_listing_component') {
        $variables['#attached']['library'][] = 'ezcontent_listing/ezcontent_listing_css';
        $block_view_mode = $blockContentList['#view_mode'];
        $helper_block_service = \Drupal::service('ezcontent_listing.helper_block');

        switch ($block_view_mode) {
          case 'full':
            $content_list_data = $helper_block_service->getContentListingBlock($block);
            if (isset($routeOptions['_layout_builder']) || isset($routeOptions['_admin_route'])) {
              $variables['content']['content'] = array_merge($blockContentList, $content_list_data);
            }
            else {
              $variables['content'] = array_merge($blockContentList, $content_list_data);
            }
            break;
        }
      }
    }
  }
}

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

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