public function SocialSharingButtonsBlock::build in Better Social Sharing Buttons 8
Same name and namespace in other branches
- 8.3 src/Plugin/Block/SocialSharingButtonsBlock.php \Drupal\better_social_sharing_buttons\Plugin\Block\SocialSharingButtonsBlock::build()
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/ SocialSharingButtonsBlock.php, line 23
Class
- SocialSharingButtonsBlock
- Provides a social sharing buttons block.
Namespace
Drupal\better_social_sharing_buttons\Plugin\BlockCode
public function build() {
$items = [];
global $base_url;
$request = \Drupal::request();
if ($route = $request->attributes
->get(RouteObjectInterface::ROUTE_OBJECT)) {
$title = \Drupal::service('title_resolver')
->getTitle($request, $route);
}
$config = \Drupal::config('better_social_sharing_buttons.settings');
$items['page_url'] = Url::fromRoute('<current>', [], [
'absolute' => TRUE,
]);
$items['description'] = '';
$items['title'] = $title;
$items['width'] = $config
->get('width') ?: '20px';
$items['height'] = $config
->get('height') ?: '20px';
$items['radius'] = $config
->get('radius') ?: '3px';
$items['facebook_app_id'] = $config
->get('facebook_app_id') ?: '';
$items['iconset'] = $config
->get('iconset') ?: 'social-icons--square';
$items['services'] = $config
->get('services') ?: [
'facebook' => 'facebook',
'twitter' => 'twitter',
'linkedin' => 'linkedin',
'googleplus' => 'googleplus',
'email' => 'email',
];
$items['base_url'] = $base_url;
return [
'#theme' => 'better_social_sharing_buttons',
'#items' => $items,
];
}