Пример #1
0
 /**
  * {@inheritdoc}
  */
 public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition)
 {
     /** @var static $plugin */
     $plugin = parent::create($container, $configuration, $plugin_id, $plugin_definition);
     $plugin->setDateFormatter($container->get('date.formatter'));
     return $plugin;
 }
Пример #2
0
 /**
  * {@inheritdoc}
  */
 public function buildOptionsForm(&$form, FormStateInterface $form_state)
 {
     parent::buildOptionsForm($form, $form_state);
     $form['help']['#markup'] = Html::escape($this->t('Note: You can change how search keys are parsed under "Advanced" > "Query settings".'));
     $fields = $this->getFulltextFields();
     if (!empty($fields)) {
         $form['fields'] = array('#type' => 'select', '#title' => $this->t('Searched fields'), '#description' => $this->t('Select the fields that will be searched. If no fields are selected, all available fulltext fields will be searched.'), '#options' => $fields, '#size' => min(4, count($fields)), '#multiple' => TRUE, '#default_value' => $this->options['fields']);
         $form['conjunction'] = array('#title' => $this->t('Operator'), '#description' => $this->t('Determines how multiple keywords entered for the search will be combined.'), '#type' => 'radios', '#options' => array('AND' => $this->t('Contains all of these words'), 'OR' => $this->t('Contains any of these words')), '#default_value' => $this->options['conjunction']);
     } else {
         $form['fields'] = array('#type' => 'value', '#value' => array());
     }
 }
 /**
  * {@inheritdoc}
  */
 public function buildOptionsForm(&$form, FormStateInterface $form_state)
 {
     parent::buildOptionsForm($form, $form_state);
     unset($form['break_phrase']);
     unset($form['not']);
     $index = Index::load(substr($this->table, 17));
     $fields = array();
     foreach ($index->getFields() as $key => $field) {
         $fields[$key] = $field->getLabel();
     }
     if ($fields) {
         $form['fields'] = array('#type' => 'select', '#title' => $this->t('Fields for similarity'), '#description' => $this->t('Select the fields that will be used for finding similar content. If no fields are selected, all available fields will be used.'), '#options' => $fields, '#size' => min(8, count($fields)), '#multiple' => TRUE, '#default_value' => $this->options['fields']);
     } else {
         $form['fields'] = array('#type' => 'value', '#value' => array());
     }
 }