htools-8.x-1.x-dev/src/Plugin/ViewsReferenceSetting/ViewsReferenceRegionsVisualization.php

src/Plugin/ViewsReferenceSetting/ViewsReferenceRegionsVisualization.php
<?php

namespace Drupal\htools\Plugin\ViewsReferenceSetting;

use Drupal\Component\Plugin\PluginBase;
use Drupal\Core\StringTranslation\StringTranslationTrait;
use Drupal\htools\Plugin\views\display\LayoutBuilder;
use Drupal\views\ViewExecutable;
use Drupal\viewsreference\Plugin\ViewsReferenceSettingInterface;

/**
 * The views reference setting pager plugin.
 *
 * @ViewsReferenceSetting(
 *   id = "region_visualization",
 *   label = @Translation("Region Visualization"),
 *   default_value = {
 *     "rows",
 *     "pager"
 *   }
 * )
 */
class ViewsReferenceRegionsVisualization extends PluginBase implements ViewsReferenceSettingInterface {

  use StringTranslationTrait;

  /**
   * {@inheritdoc}
   */
  public function alterFormField(array &$form_field) {
    $form_field['#type'] = 'checkboxes';
    $form_field['#description'] = $this->t('Check the regions that you want to show.');
    $form_field['#options'] = LayoutBuilder::getRegions();
  }

  /**
   * {@inheritdoc}
   */
  public function alterView(ViewExecutable $view, $value) {
    if (!empty($value)) {
      $view->display_handler->setOption('regions', $value);
    }
  }

}

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

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