kb-8.x-1.x-dev/src/Plugin/views/area/KbCategoryAddButtonArea.php

src/Plugin/views/area/KbCategoryAddButtonArea.php
<?php
/**
 * Created by PhpStorm.
 * User: laboratory.mike
 */

namespace Drupal\kb\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("kb_category_add_button_area")
 */

class KbCategoryAddButtonArea extends AreaPluginBase {
  /**
   * {@inheritdoc}
   */
  public function render($empty = FALSE)
  {
    if (isset($this->view->args[0])) {
      $arg = strval(intval(Html::escape($this->view->args[0])));
      $dest = \Drupal::service('path.current')->getPath();
      $params = ['group' => $arg];
      $params['plugin_id'] = 'group_node:kb_category';
      $params['destination'] = $dest;
      $url = new Url('entity.group_content.create_form', $params);
      $link = Link::fromTextAndUrl(t('Add KB Category'), $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