You are here

public function SlickManager::build in Slick Carousel 8.2

Same name and namespace in other branches
  1. 8 src/SlickManager.php \Drupal\slick\SlickManager::build()
  2. 7.3 src/SlickManager.php \Drupal\slick\SlickManager::build()

Returns a renderable array of both main and thumbnail slick instances.

Parameters

array $build: An associative array containing:

  • items: An array of slick contents: text, image or media.
  • options: An array of key:value pairs of custom JS overrides.
  • optionset: The cached optionset object to avoid multiple invocations.
  • settings: An array of key:value pairs of HTML/layout related settings.
  • thumb: An associative array of slick thumbnail following the same structure as the main display: $build['thumb']['items'], etc.

Return value

array The renderable array of both main and thumbnail slick instances.

Overrides SlickManagerInterface::build

File

src/SlickManager.php, line 216

Class

SlickManager
Implements BlazyManagerInterface, SlickManagerInterface.

Namespace

Drupal\slick

Code

public function build(array $build = []) {
  foreach (SlickDefault::themeProperties() as $key) {
    $build[$key] = isset($build[$key]) ? $build[$key] : [];
  }
  $slick = [
    '#theme' => 'slick_wrapper',
    '#items' => [],
    '#build' => $build,
    '#pre_render' => [
      [
        $this,
        'preRenderSlickWrapper',
      ],
    ],
    // Satisfy CTools blocks as per 2017/04/06: 2804165.
    'items' => [],
  ];
  $this->moduleHandler
    ->alter('slick_build', $slick, $build['settings']);
  return empty($build['items']) ? [] : $slick;
}