public function BlazyManager::getBlazy in Blazy 8.2
Same name and namespace in other branches
- 8 src/BlazyManager.php \Drupal\blazy\BlazyManager::getBlazy()
- 7 src/BlazyManager.php \Drupal\blazy\BlazyManager::getBlazy()
Returns the enforced rich media content, or media using theme_blazy().
Parameters
array $build: The array containing: item, content, settings, or optional captions.
Return value
array The alterable and renderable array of enforced content, or theme_blazy().
1 call to BlazyManager::getBlazy()
- BlazyManager::getImage in src/
BlazyManager.php - Deprecated method.
File
- src/
BlazyManager.php, line 34
Class
- BlazyManager
- Implements a public facing blazy manager.
Namespace
Drupal\blazyCode
public function getBlazy(array $build = []) {
foreach (BlazyDefault::themeProperties() as $key) {
$build[$key] = isset($build[$key]) ? $build[$key] : [];
}
$settings =& $build['settings'];
$settings += BlazyDefault::itemSettings();
$settings['uri'] = $uri = $settings['uri'] ?: Blazy::uri($build['item']);
// Prevents _responsive_image_build_source_attributes from fatal if missing.
// External images are invalid URI, but can still be lazyloaded.
// The is_file seems fine against weird characters like czech ů at php 7.4,
// recheck russian characters in general, and lower PHP. No worries if
// transliterated, though.
$settings['_valid'] = BlazyUtil::isValidUri($uri);
$settings['_missing'] = $settings['_valid'] && !is_file($uri);
// Respects content not handled by theme_blazy(), but passed through.
// Yet allows rich contents which might still be processed by theme_blazy().
$content = empty($uri) || $settings['_missing'] ? $build['content'] : [
'#theme' => 'blazy',
'#delta' => $settings['delta'],
'#item' => $build['item'],
'#image_style' => $settings['image_style'],
'#build' => $build,
'#pre_render' => [
[
$this,
'preRenderBlazy',
],
],
];
$this->moduleHandler
->alter('blazy', $content, $settings);
return $content;
}