public function Facebook::renderEmbedCode in Video 8
Same name and namespace in other branches
- 8.2 src/Plugin/video/Provider/Facebook.php \Drupal\video\Plugin\video\Provider\Facebook::renderEmbedCode()
Render embed code.
Parameters
string $settings: The settings of the video player.
Return value
mixed A renderable array of the embed code.
Overrides ProviderPluginInterface::renderEmbedCode
File
- src/
Plugin/ video/ Provider/ Facebook.php, line 25
Class
- Plugin annotation @VideoEmbeddableProvider( id = "facebook", label = @Translation("Facebook"), description = @Translation("Facebook Video Provider"), regular_expressions = { "@^https?://www\.facebook\.com/.*(/videos/(?<id>\d+))@i", …
Namespace
Drupal\video\Plugin\video\ProviderCode
public function renderEmbedCode($settings) {
$file = $this
->getVideoFile();
$data = $this
->getVideoMetadata();
// @see https://developers.facebook.com/docs/plugins/embedded-video-player
return [
'#type' => 'html_tag',
'#tag' => 'div',
'0' => [
'#type' => 'html_tag',
'#tag' => 'script',
'#value' => 'window.fbAsyncInit = function() {
FB.init({
xfbml : true,
version : \'v2.3\'
});
}; (function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, \'script\', \'facebook-jssdk\'));',
],
'1' => [
'#type' => 'html_tag',
'#tag' => 'div',
'#attributes' => [
'class' => 'fb-video',
'data-href' => sprintf('https://www.facebook.com/video.php?v=%s', $data['id']),
'data-width' => $settings['width'],
'data-autoplay' => $settings['autoplay'] ? 1 : 0,
],
],
];
}