public function FacetapiAjaxWidget::execute in Ajax facets 7.3
Implements FacetapiWidget::execute().
Transforms the render array into something that can be themed by theme_item_list().
See also
FacetapiWidgetLinks::setThemeHooks()
FacetapiWidgetLinks::buildListItems()
2 methods override FacetapiAjaxWidget::execute()
- FacetapiAjaxWidgetRanges::execute in plugins/
facetapi/ ajax_widget_ranges.inc - Implements FacetapiWidget::execute().
- FacetapiAjaxWidgetSelect::execute in plugins/
facetapi/ ajax_widget_select.inc - Implements FacetapiWidget::execute().
File
- plugins/
facetapi/ ajax_widget.inc, line 108 - Base ajax_facets widget
Class
- FacetapiAjaxWidget
- Widget that renders facets as a list of clickable links.
Code
public function execute() {
$element =& $this->build[$this->facet['field alias']];
// Sets each item's theme hook, builds item list.
$this
->setThemeHooks($element);
$item_list = [
'#theme' => 'item_list',
'#items' => $this
->buildListItems($element),
'#attributes' => $this->build['#attributes'],
];
// We cannot use drupal_html_id to save the same id for each facet.
$wrapper_id = $this->build['#attributes']['id'] . '-wrapper';
$element = [
'#markup' => '<div id="' . $wrapper_id . '">' . $this
->getResetLink() . render($item_list) . '</div>',
];
ajax_facets_add_ajax_js($this->facet);
}