function slick_build_grids in Slick Carousel 7.2
Same name and namespace in other branches
- 7.3 includes/slick.global.inc \slick_build_grids()
Returns items as a grid display.
1 call to slick_build_grids()
- slick_build in ./
slick.module - Returns a cacheable renderable array of a single slick instance.
File
- includes/
slick.global.inc, line 252 - Global functions across Slick field formatters and Views.
Code
function slick_build_grids(array $build, &$settings) {
$grids = array();
// Display all items if unslick is enforced for plain grid to lightbox.
if (!empty($settings['unslick'])) {
$settings['current_display'] = 'main';
$settings['current_item'] = 'grid';
$settings['count'] = 2;
$slide['slide'] = array(
'#theme' => 'slick_grid',
'#items' => $build,
'#delta' => 0,
'#settings' => $settings,
);
$slide['settings'] = $settings;
$grids[0] = $slide;
}
else {
// Otherwise do chunks to have a grid carousel.
$preserve_keys = !empty($settings['preserve_keys']);
$grid_items = array_chunk($build, $settings['visible_slides'], $preserve_keys);
$settings['count'] = count($grid_items);
foreach ($grid_items as $delta => $grid_item) {
$slide = array();
$slide['slide'] = array(
'#theme' => 'slick_grid',
'#items' => $grid_item,
'#delta' => $delta,
'#settings' => $settings,
);
$slide['settings'] = $settings;
$grids[] = $slide;
unset($slide);
}
}
return $grids;
}