You are here

public function GroupAddEventBlock::build in Open Social 8.9

Same name and namespace in other branches
  1. 8 modules/social_features/social_group/src/Plugin/Block/GroupAddEventBlock.php \Drupal\social_group\Plugin\Block\GroupAddEventBlock::build()
  2. 8.2 modules/social_features/social_group/src/Plugin/Block/GroupAddEventBlock.php \Drupal\social_group\Plugin\Block\GroupAddEventBlock::build()
  3. 8.3 modules/social_features/social_group/src/Plugin/Block/GroupAddEventBlock.php \Drupal\social_group\Plugin\Block\GroupAddEventBlock::build()
  4. 8.4 modules/social_features/social_group/src/Plugin/Block/GroupAddEventBlock.php \Drupal\social_group\Plugin\Block\GroupAddEventBlock::build()
  5. 8.5 modules/social_features/social_group/src/Plugin/Block/GroupAddEventBlock.php \Drupal\social_group\Plugin\Block\GroupAddEventBlock::build()
  6. 8.6 modules/social_features/social_group/src/Plugin/Block/GroupAddEventBlock.php \Drupal\social_group\Plugin\Block\GroupAddEventBlock::build()
  7. 8.7 modules/social_features/social_group/src/Plugin/Block/GroupAddEventBlock.php \Drupal\social_group\Plugin\Block\GroupAddEventBlock::build()
  8. 8.8 modules/social_features/social_group/src/Plugin/Block/GroupAddEventBlock.php \Drupal\social_group\Plugin\Block\GroupAddEventBlock::build()
  9. 10.3.x modules/social_features/social_group/src/Plugin/Block/GroupAddEventBlock.php \Drupal\social_group\Plugin\Block\GroupAddEventBlock::build()
  10. 10.0.x modules/social_features/social_group/src/Plugin/Block/GroupAddEventBlock.php \Drupal\social_group\Plugin\Block\GroupAddEventBlock::build()
  11. 10.1.x modules/social_features/social_group/src/Plugin/Block/GroupAddEventBlock.php \Drupal\social_group\Plugin\Block\GroupAddEventBlock::build()
  12. 10.2.x modules/social_features/social_group/src/Plugin/Block/GroupAddEventBlock.php \Drupal\social_group\Plugin\Block\GroupAddEventBlock::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

modules/social_features/social_group/src/Plugin/Block/GroupAddEventBlock.php, line 48

Class

GroupAddEventBlock
Provides a 'GroupAddEventBlock' block.

Namespace

Drupal\social_group\Plugin\Block

Code

public function build() {
  $build = [];
  $group = _social_group_get_current_group();
  if (is_object($group)) {
    $url = Url::fromRoute('entity.group_content.create_form', [
      'group' => $group
        ->id(),
      'plugin_id' => 'group_node:event',
    ]);
    $link_options = [
      'attributes' => [
        'class' => [
          'btn',
          'btn-primary',
          'btn-raised',
          'waves-effect',
          'brand-bg-primary',
        ],
      ],
    ];
    $url
      ->setOptions($link_options);
    $build['content'] = Link::fromTextAndUrl(t('Create Event'), $url)
      ->toRenderable();

    // Cache.
    $build['#cache']['contexts'][] = 'url.path';
    $build['#cache']['tags'][] = 'group:' . $group
      ->id();
  }
  return $build;
}