public function DisqusBaseBlock::build in Disqus 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/ DisqusBaseBlock.php, line 134
Class
- DisqusBaseBlock
- Create a new DisqusBaseBlock.
Namespace
Drupal\disqus\Plugin\BlockCode
public function build() {
$function = $this
->functionId();
$url = Url::fromUri("//disqus.com/forums/{$this->disqusConfig->get('disqus_domain')}/{$function}.js", [
'external' => TRUE,
'query' => $this
->buildQuery(),
])
->toString();
return [
'widget' => [
'script_tag' => [
'#markup' => new FormattableMarkup('<script type="text/javascript" src="' . $url . '"></script>', []),
],
'#theme_wrappers' => [
'container',
],
'#attributes' => [
'id' => Html::getUniqueId('disqus-' . $function),
'class' => [
'dsq-widget',
],
],
],
];
}