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

modules/niobi_group/src/Plugin/views/area/NiobiGroupAddButton.php
<?php
/**
 * Created by PhpStorm.
 * User: laboratory.mike
 * Date: 11/18/17
 * Time: 11:17 PM
 */

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_research_center_group_add_button")
 */

class NiobiGroupAddButton extends AreaPluginBase {
  /**
   * {@inheritdoc}
   */
  public function render($empty = FALSE)
  {
    // TODO: Define valid views
    if ($this->view->id() === 'groups') {
      // TODO: Implement Access Check
      $arg = strval(intval(Html::escape($this->view->args[0])));
      $dest = \Drupal::service('path.current')->getPath();
      $urlbase = '/group/add/group?field_department=' . $arg . '&destination=' . $dest;
      $url = Url::fromUserInput($urlbase);
      $link = Link::fromTextAndUrl(t('Add Group'), $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