bibcite-8.x-1.x-dev/modules/bibcite_entity/src/Plugin/BibciteLinkPluginBase.php

modules/bibcite_entity/src/Plugin/BibciteLinkPluginBase.php
<?php

namespace Drupal\bibcite_entity\Plugin;

use Drupal\bibcite_entity\Entity\ReferenceInterface;
use Drupal\Component\Plugin\PluginBase;
use Drupal\Core\Link;

/**
 * Base class for Link plugins.
 */
abstract class BibciteLinkPluginBase extends PluginBase implements BibciteLinkPluginInterface {

  /**
   * {@inheritdoc}
   */
  public function getLabel() {
    return $this->pluginDefinition['label'];
  }

  /**
   * Build URL object.
   *
   * @param \Drupal\bibcite_entity\Entity\ReferenceInterface $reference
   *   Reference entity object.
   */
  protected function buildUrl(ReferenceInterface $reference) {}

  /**
   * {@inheritdoc}
   */
  public function build(ReferenceInterface $reference) {
    if ($url = $this->buildUrl($reference)) {
      return Link::fromTextAndUrl($this->getLabel(), $url)->toRenderable();
    }

    return NULL;
  }

}

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

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