public static function BlazyMedia::build in Blazy 8.2
Same name and namespace in other branches
- 8 src/BlazyMedia.php \Drupal\blazy\BlazyMedia::build()
- 7 src/BlazyMedia.php \Drupal\blazy\BlazyMedia::build()
Builds the media field which is not understood by theme_blazy().
@todo make it non-static method.
Parameters
object $media: The media being rendered.
array $settings: The contextual settings array.
Return value
array|bool The renderable array of the media field, or false if not applicable.
Overrides BlazyMediaInterface::build
4 calls to BlazyMedia::build()
- BlazyEntity::getFileOrMedia in src/BlazyEntity.php 
- Returns file view or media due to being empty returned by view builder.
- BlazyFormatterTest::testBlazyMedia in tests/src/ Kernel/ BlazyFormatterTest.php 
- Tests the Blazy formatter faked Media integration.
- BlazyMediaUnitTest::testBlazyMediaBuild in tests/src/ Unit/ BlazyMediaUnitTest.php 
- Tests \Drupal\blazy\BlazyMedia::build().
- BlazyOEmbed::getMediaItem in src/BlazyOEmbed.php 
- Gets the Media item thumbnail.
File
- src/BlazyMedia.php, line 17 
Class
- BlazyMedia
- Provides extra utilities to work with core Media.
Namespace
Drupal\blazyCode
public static function build($media, array $settings = []) {
  // Prevents fatal error with disconnected internet when having ME Facebook,
  // ME SlideShare, resorted to static thumbnails to avoid broken displays.
  if (!empty($settings['input_url'])) {
    try {
      \Drupal::httpClient()
        ->get($settings['input_url'], [
        'timeout' => 3,
      ]);
    } catch (\Exception $e) {
      return FALSE;
    }
  }
  $settings['type'] = 'rich';
  $options = $settings['media_source'] == 'video_file' ? [
    'type' => 'file_video',
  ] : $settings['view_mode'];
  $build = $media
    ->get($settings['source_field'])
    ->view($options);
  $build['#settings'] = $settings;
  return isset($build[0]) ? self::wrap($build) : $build;
}