public function FacebookFeedBlock::build in Facebook Feed Block 8
Builds and returns the renderable array for this block plugin.
If a block should not be rendered because it has no content, then this method must also ensure to return no content: it must then only return an empty array, or an empty array with #cache set (with cacheability metadata indicating the circumstances for it being empty).
Return value
array A renderable array representing the content of the block.
Overrides BlockPluginInterface::build
See also
\Drupal\block\BlockViewBuilder
File
- src/
Plugin/ Block/ FacebookFeedBlock.php, line 115
Class
- FacebookFeedBlock
- Provides a 'FacebookFeedBlock' block.
Namespace
Drupal\facebook_feed\Plugin\BlockCode
public function build() {
$posts = [];
try {
$posts = $this
->getPosts();
} catch (\Exception $e) {
\Drupal::messenger()
->addMessage(t('Facebook error.'), 'error');
}
$build = [
'#prefix' => '<div class="facebook_feed">',
'#suffix' => '</div>',
];
$build['#attached']['library'][] = 'facebook_feed/display';
$build['#attached']['library'][] = 'facebook_feed/font_awesome';
if (!$posts) {
return $build;
}
foreach ($posts['data'] as $post) {
$build[$post['id']] = $this
->themePost($post);
}
return $build;
}