improvements-2.x-dev/modules/improvements_views/src/Plugin/views/filter/ExtendedNumericFilter.php

modules/improvements_views/src/Plugin/views/filter/ExtendedNumericFilter.php
<?php

namespace Drupal\improvements_views\Plugin\views\filter;

use Drupal\views\Plugin\views\filter\NumericFilter;

/**
 * @see improvements_views_plugins_filter_alter()
 */
class ExtendedNumericFilter extends NumericFilter {

  /**
   * {@inheritDoc}
   */
  public function operators(): array {
    $operators = parent::operators();

    $operators['in'] = [
      'title' => $this->t('Is one of'),
      'short' => $this->t('in'),
      'short_single' => $this->t('='),
      'method' => 'opIn',
      'values' => 1,
    ];

    return $operators;
  }

  /**
   * "in" operator.
   */
  protected function opIn(string $field): void {
    $values = explode(',', $this->value['value']);
    $this->query->addWhere($this->options['group'], $field, $values, $this->operator);
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc