You are here

public function SlickExampleSkin::skins in Slick extras 7.3

Same name and namespace in other branches
  1. 8 slick_example/src/SlickExampleSkin.php \Drupal\slick_example\SlickExampleSkin::skins()

Returns the Slick skins.

This can be used to register skins for the Slick. Skins will be available when configuring the Optionset, Field formatter, or Views style, or custom coded slicks. It is permanently cached, so you won't see changes when adding new ones till cache clearing.

Slick skins get a unique CSS class to use for styling, e.g.: If your skin name is "my_module_slick_carousel_rounded", the CSS class is: slick--skin--my-module-slick-carousel-rounded.

A skin can specify CSS and JS files to include when Slick is displayed, except for a thumbnail skin which accepts CSS only. Each skin with its assets (CSS, JS, or library dependencies) is registered as regular Drupal libraries via hook_library() at SlickLibrary::library(). The final library can be loaded like: ['slick', 'provider.group.name'].

Each skin supports a few keys:

  • name: The human readable name of the skin.
  • description: The description about the skin, for help and manage pages.
  • dependencies: An array of library dependencies.
  • css: An array of CSS files to attach.
  • js: An array of JS files to attach, e.g.: image zoomer, reflection, etc.
  • options: An array of JS options to be included within [data-slick] such as when integrating extra libraries defined at `js` which later can be accessed by JS via [data-slick] to work with.
  • group: A string grouping the current skin: main, thumbnail.
  • dependencies: SImilar to how core library dependencies constructed.
  • provider: A module name registering the skins.
  • options: Extra JavaScript (Slicebox, 3d carousel, etc) options merged into existing [data-slick] attribute to be consumed by custom JS.

Return value

array The array of the main and thumbnail skins.

Overrides SlickSkinInterface::skins

File

slick_example/src/SlickExampleSkin.php, line 15

Class

SlickExampleSkin
Implements SlickSkinInterface as registered via hook_slick_skins_info().

Namespace

Drupal\slick_example

Code

public function skins() {
  $path = drupal_get_path('module', 'slick_example');
  $skins = [
    'x_testimonial' => [
      'name' => 'X: Testimonial',
      'description' => t('Testimonial with thumbnail and description with slidesToShow 2.'),
      'group' => 'main',
      'provider' => 'slick_example',
      'css' => [
        $path . '/css/slick.theme--x-testimonial.css' => [],
      ],
    ],
  ];
  return $skins;
}