You are here

class GoogleScholar in Bibliography & Citation 8

Same name and namespace in other branches
  1. 2.0.x modules/bibcite_entity/src/Plugin/bibcite/link/GoogleScholar.php \Drupal\bibcite_entity\Plugin\bibcite\link\GoogleScholar

Build Google Scholar lookup link.

Plugin annotation


@BibciteLink(
  id = "google_scholar",
  label = @Translation("Google Scholar"),
)

Hierarchy

Expanded class hierarchy of GoogleScholar

File

modules/bibcite_entity/src/Plugin/bibcite/link/GoogleScholar.php, line 17

Namespace

Drupal\bibcite_entity\Plugin\bibcite\link
View source
class GoogleScholar extends BibciteLinkPluginBase {

  /**
   * {@inheritdoc}
   */
  public function buildUrl(ReferenceInterface $reference) {
    $title_field = $reference
      ->get('title');
    if (!$title_field
      ->isEmpty()) {
      return Url::fromUri('https://scholar.google.com/scholar', [
        'query' => [
          'btnG' => 'Search+Scholar',
          'as_q' => '"' . str_replace([
            ' ',
            '(',
            ')',
          ], [
            '+',
          ], $title_field->value) . '"',
          'as_occt' => 'any',
          'as_epq' => '',
          'as_oq' => '',
          'as_eq' => '',
          'as_publication' => '',
          'as_ylo' => '',
          'as_yhi' => '',
          'as_sdtAAP' => 1,
          'as_sdtp' => 1,
        ],
      ]);
    }
    return NULL;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
BibciteLinkPluginBase::build public function Build link using data from Reference entity. Overrides BibciteLinkPluginInterface::build
BibciteLinkPluginBase::getLabel public function Get plugin label. Overrides BibciteLinkPluginInterface::getLabel
GoogleScholar::buildUrl public function Build URL object. Overrides BibciteLinkPluginBase::buildUrl
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$pluginDefinition protected property The plugin implementation definition. 1
PluginBase::$pluginId protected property The plugin_id.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::getBaseId public function Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition 3
PluginBase::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
PluginBase::isConfigurable public function Determines if the plugin is configurable.
PluginBase::__construct public function Constructs a \Drupal\Component\Plugin\PluginBase object. 92