class ViewsExposedFilterBlock in Drupal 10
Same name in this branch
- 10 core/modules/views/src/Plugin/Derivative/ViewsExposedFilterBlock.php \Drupal\views\Plugin\Derivative\ViewsExposedFilterBlock
- 10 core/modules/views/src/Plugin/Block/ViewsExposedFilterBlock.php \Drupal\views\Plugin\Block\ViewsExposedFilterBlock
Same name and namespace in other branches
- 8 core/modules/views/src/Plugin/Block/ViewsExposedFilterBlock.php \Drupal\views\Plugin\Block\ViewsExposedFilterBlock
- 9 core/modules/views/src/Plugin/Block/ViewsExposedFilterBlock.php \Drupal\views\Plugin\Block\ViewsExposedFilterBlock
Provides a 'Views Exposed Filter' block.
Plugin annotation
@Block(
id = "views_exposed_filter_block",
admin_label = @Translation("Views Exposed Filter Block"),
deriver = "Drupal\views\Plugin\Derivative\ViewsExposedFilterBlock"
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\Core\Block\BlockBase implements BlockPluginInterface, ContextAwarePluginInterface, PluginWithFormsInterface, PreviewAwarePluginInterface, PreviewFallbackInterface uses BlockPluginTrait, ContextAwarePluginAssignmentTrait, ContextAwarePluginTrait
- class \Drupal\views\Plugin\Block\ViewsBlockBase implements ContainerFactoryPluginInterface
- class \Drupal\views\Plugin\Block\ViewsExposedFilterBlock
- class \Drupal\views\Plugin\Block\ViewsBlockBase implements ContainerFactoryPluginInterface
- class \Drupal\Core\Block\BlockBase implements BlockPluginInterface, ContextAwarePluginInterface, PluginWithFormsInterface, PreviewAwarePluginInterface, PreviewFallbackInterface uses BlockPluginTrait, ContextAwarePluginAssignmentTrait, ContextAwarePluginTrait
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of ViewsExposedFilterBlock
File
- core/
modules/ views/ src/ Plugin/ Block/ ViewsExposedFilterBlock.php, line 17
Namespace
Drupal\views\Plugin\BlockView source
class ViewsExposedFilterBlock extends ViewsBlockBase {
/**
* {@inheritdoc}
*/
public function getCacheContexts() {
$contexts = $this->view->display_handler
->getCacheMetadata()
->getCacheContexts();
return Cache::mergeContexts(parent::getCacheContexts(), $contexts);
}
/**
* {@inheritdoc}
*
* @return array
* A renderable array representing the content of the block with additional
* context of current view and display ID.
*/
public function build() {
$output = $this->view->display_handler
->viewExposedFormBlocks();
// Provide the context for block build and block view alter hooks.
// \Drupal\views\Plugin\Block\ViewsBlock::build() adds the same context in
// \Drupal\views\ViewExecutable::buildRenderable() using
// \Drupal\views\Plugin\views\display\DisplayPluginBase::buildRenderable().
if (is_array($output) && !empty($output)) {
$output += [
'#view' => $this->view,
'#display_id' => $this->displayID,
];
}
// Before returning the block output, convert it to a renderable array with
// contextual links.
$this
->addContextualLinks($output, 'exposed_filter');
// Set the blocks title.
if (!empty($this->configuration['label_display']) && ($this->view
->getTitle() || !empty($this->configuration['views_label']))) {
$output['#title'] = [
'#markup' => empty($this->configuration['views_label']) ? $this->view
->getTitle() : $this->configuration['views_label'],
'#allowed_tags' => Xss::getHtmlTagList(),
];
}
return $output;
}
}