/** * {@inheritdoc} */ public function init(ViewExecutable $view, DisplayPluginBase $display, array &$options = NULL) { parent::init($view, $display, $options); $base_table = $this->view->storage->get('base_table'); $base_field = $this->view->storage->get('base_field'); $this->relationships[$base_table] = array( 'link' => NULL, 'table' => $base_table, 'alias' => $base_table, 'base' => $base_table ); // init the table queue with our primary table. $this->tableQueue[$base_table] = array( 'alias' => $base_table, 'table' => $base_table, 'relationship' => $base_table, 'join' => NULL, ); // init the tables with our primary table $this->tables[$base_table][$base_table] = array( 'count' => 1, 'alias' => $base_table, ); $this->count_field = array( 'table' => $base_table, 'field' => $base_field, 'alias' => $base_field, 'count' => TRUE, ); }
/** * {@inheritdoc} */ public function init(ViewExecutable $view, DisplayPluginBase $display, array &$options = NULL) { try { parent::init($view, $display, $options); $this->fields = array(); $this->index = self::getIndexFromTable($view->storage->get('base_table')); if (!$this->index) { $this->abort(new FormattableMarkup('View %view is not based on Search API but tries to use its query plugin.', array('%view' => $view->storage->label()))); } $this->query = $this->index->query(array( 'parse mode' => $this->options['parse_mode'], )); } catch (\Exception $e) { $this->abort($e->getMessage()); } }
/** * {@inheritdoc} */ public function init(ViewExecutable $view, DisplayPluginBase $display, array &$options = NULL) { try { parent::init($view, $display, $options); $this->index = static::getIndexFromTable($view->storage->get('base_table')); if (!$this->index) { $this->abort(new FormattableMarkup('View %view is not based on Search API but tries to use its query plugin.', array('%view' => $view->storage->label()))); } $this->retrievedProperties = array_fill_keys($this->index->getDatasourceIds(), array()); $this->retrievedProperties[NULL] = array(); $this->query = $this->index->query(); $this->query->setParseMode($this->options['parse_mode']); $this->query->addTag('views'); $this->query->addTag('views_' . $view->id()); $this->query->setOption('search_api_view', $view); } catch (\Exception $e) { $this->abort($e->getMessage()); } }
/** * {@inheritdoc} */ public function init(ViewExecutable $view, DisplayPluginBase $display, array &$options = NULL) { try { parent::init($view, $display, $options); $this->fields = array(); if (substr($view->storage->get('base_table'), 0, 17) == 'search_api_index_') { $id = substr($view->storage->get('base_table'), 17); $this->index = Index::load($id); $this->query = $this->index->query(array('parse mode' => $this->options['parse_mode'])); } else { $this->abort(SafeMarkup::format('View %view is not based on Search API but tries to use its query plugin.', array('%view' => $view->storage->label()))); } } catch (\Exception $e) { $this->abort($e->getMessage()); } }