niobi-8.x-2.0-alpha4/modules/niobi_group/src/Plugin/views/area/NiobiDepartmentAddButton.php

modules/niobi_group/src/Plugin/views/area/NiobiDepartmentAddButton.php
<?php

namespace Drupal\niobi_group\Plugin\views\area;

use Drupal\views\Plugin\views\area\AreaPluginBase;
use Drupal\Core\Url;
use Drupal\Core\Link;
use Drupal\Component\Utility\Html;

/**
 * Defines a views area plugin.
 *
 * @ingroup views_area_handlers
 *
 * @ViewsArea("niobi_department_add_button")
 */

class NiobiDepartmentAddButton extends AreaPluginBase {
  /**
   * {@inheritdoc}
   */
  public function render($empty = FALSE)
  {
    // TODO: Define valid views
    if ($this->view->id() === 'departments') {
      // TODO: Implement Access Check
      $arg = strval(intval(Html::escape($this->view->args[0])));
      $dest = \Drupal::service('path.current')->getPath();
      $urlbase = '/group/add/department?field_organization=' . $arg . '&destination=' . $dest;
      $url = Url::fromUserInput($urlbase);
      $link = Link::fromTextAndUrl(t('Add Department'), $url);
      $link = $link->toRenderable();
      $link['#attributes'] = array('class' => array('btn', 'btn-success'));
      return array(
          '#markup' => render($link),
      );
    }
    else {
      return array(
          '#markup' => '',
      );
    }
  }
}

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

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