class SchemaItemListElementBreadcrumbBase in Schema.org Metatag 8
All Schema.org Breadcrumb tags should extend this class.
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\metatag\Plugin\metatag\Tag\MetaNameBase uses StringTranslationTrait
- class \Drupal\schema_metatag\Plugin\metatag\Tag\SchemaNameBase implements ContainerFactoryPluginInterface, SchemaMetatagTestTagInterface
- class \Drupal\schema_metatag\Plugin\metatag\Tag\SchemaItemListElementBase
- class \Drupal\schema_metatag\Plugin\metatag\Tag\SchemaItemListElementBreadcrumbBase
- class \Drupal\schema_metatag\Plugin\metatag\Tag\SchemaItemListElementBase
- class \Drupal\schema_metatag\Plugin\metatag\Tag\SchemaNameBase implements ContainerFactoryPluginInterface, SchemaMetatagTestTagInterface
- class \Drupal\metatag\Plugin\metatag\Tag\MetaNameBase uses StringTranslationTrait
Expanded class hierarchy of SchemaItemListElementBreadcrumbBase
1 file declares its use of SchemaItemListElementBreadcrumbBase
- SchemaWebPageBreadcrumb.php in schema_web_page/
src/ Plugin/ metatag/ Tag/ SchemaWebPageBreadcrumb.php
File
- src/
Plugin/ metatag/ Tag/ SchemaItemListElementBreadcrumbBase.php, line 10
Namespace
Drupal\schema_metatag\Plugin\metatag\TagView source
class SchemaItemListElementBreadcrumbBase extends SchemaItemListElementBase {
/**
* {@inheritdoc}
*/
public function form(array $element = []) {
$form = [
'#type' => 'select',
'#title' => $this
->label(),
'#default_value' => $this
->value(),
'#empty_option' => $this
->t('No'),
'#empty_value' => '',
'#options' => [
'Yes' => $this
->t('Yes'),
],
'#description' => $this
->description(),
'#element_validate' => [
[
get_class($this),
'validateTag',
],
],
];
return $form;
}
/**
* {@inheritdoc}
*/
public static function testValue() {
return 'Yes';
}
/**
* {@inheritdoc}
*/
public static function outputValue($input_value) {
$output_value = parent::outputValue($input_value);
$items = [];
if (!empty($output_value)) {
$items = [
"@type" => "BreadcrumbList",
"itemListElement" => $output_value,
];
}
return $items;
}
/**
* {@inheritdoc}
*/
public static function getItems($input_value) {
$values = [];
if (!empty($input_value)) {
$entity_route = \Drupal::service('current_route_match')
->getCurrentRouteMatch();
$breadcrumbs = \Drupal::service('breadcrumb')
->build($entity_route)
->getLinks();
$key = 1;
foreach ($breadcrumbs as $item) {
// Modules that add the current page to the breadcrumb set it to an
// empty path, so an empty path is the current path.
$url = $item
->getUrl()
->setAbsolute()
->toString();
if (empty($url)) {
$url = Url::fromRoute('<current>')
->setAbsolute()
->toString();
}
$text = $item
->getText();
$text = is_object($text) ? $text
->render() : $text;
$values[$key] = [
'@id' => $url,
'name' => $text,
'item' => $url,
];
$key++;
}
}
return $values;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
MetaNameBase:: |
protected | property | True if the URL value(s) must be absolute. | |
MetaNameBase:: |
protected | property | A longer explanation of what the field is for. | |
MetaNameBase:: |
protected | property | The category this meta tag fits in. | |
MetaNameBase:: |
protected | property | Machine name of the meta tag plugin. | |
MetaNameBase:: |
protected | property | The title of the plugin. | |
MetaNameBase:: |
protected | property | True if the tag should use a text area. | |
MetaNameBase:: |
protected | property | True if more than one is allowed. | |
MetaNameBase:: |
protected | property | Official metatag name. | 1 |
MetaNameBase:: |
protected | property | The attribute this tag uses for the name. | 3 |
MetaNameBase:: |
protected | property | Retrieves the currently active request object. | |
MetaNameBase:: |
protected | property | True if URL must use HTTPS. | |
MetaNameBase:: |
protected | property | Type of the value being stored. | |
MetaNameBase:: |
protected | property | The value of the metatag in this instance. | |
MetaNameBase:: |
public | function | The meta tag's description. | |
MetaNameBase:: |
public | function | The meta tag group this meta tag belongs to. | |
MetaNameBase:: |
public | function | Obtain the meta tag's internal ID. | |
MetaNameBase:: |
public | function | Whether or not this meta tag is active. | |
MetaNameBase:: |
public | function | Whether or not this meta tag should use a text area. | |
MetaNameBase:: |
public | function | This meta tag's label. | |
MetaNameBase:: |
public | function | Whether or not this meta tag supports multiple values. | |
MetaNameBase:: |
public | function | The meta tag's machine name. | 1 |
MetaNameBase:: |
protected | function | Extract any image URLs that might be found in a meta tag. | |
MetaNameBase:: |
public | function | Whether or not this meta tag must output required absolute URLs. | |
MetaNameBase:: |
public | function | Whether or not this meta tag must output secure (HTTPS) URLs. | |
MetaNameBase:: |
private | function | Make the string presentable. | |
MetaNameBase:: |
public | function | Obtain this meta tag's type. | |
MetaNameBase:: |
public static | function | Validates the metatag data. | |
MetaNameBase:: |
public | function | This meta tag's form field's weight. | |
MetaNameBase:: |
public | function |
Constructs a \Drupal\Component\Plugin\PluginBase object. Overrides PluginBase:: |
|
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
PluginBase:: |
public | function |
Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
3 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
SchemaItemListElementBreadcrumbBase:: |
public | function |
Generate a form element for this meta tag. Overrides SchemaItemListElementBase:: |
|
SchemaItemListElementBreadcrumbBase:: |
public static | function |
Process the input value into an array of items. Overrides SchemaItemListElementBase:: |
|
SchemaItemListElementBreadcrumbBase:: |
public static | function |
Transform input value to its display output. Overrides SchemaItemListElementBase:: |
|
SchemaItemListElementBreadcrumbBase:: |
public static | function |
Provide a test input value for the property that will validate. Overrides SchemaItemListElementBase:: |
|
SchemaNameBase:: |
protected | property | The schemaMetatagManager service. | |
SchemaNameBase:: |
public static | function |
Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface:: |
|
SchemaNameBase:: |
protected | function | Nested elements that cannot be exploded. | |
SchemaNameBase:: |
public | function |
Generate the HTML tag output for a meta tag. Overrides MetaNameBase:: |
1 |
SchemaNameBase:: |
protected | function | Parse the image url out of image markup. | |
SchemaNameBase:: |
public static | function | ||
SchemaNameBase:: |
public static | function |
Provide a test output value for the input value. Overrides SchemaMetatagTestTagInterface:: |
17 |
SchemaNameBase:: |
protected | function | ||
SchemaNameBase:: |
public static | function |
Explode a test value. Overrides SchemaMetatagTestTagInterface:: |
|
SchemaNameBase:: |
protected | function | Return the SchemaMetatagManager. | |
SchemaNameBase:: |
public | function | Sets schemaMetatagManager service. | |
SchemaNameBase:: |
public | function |
Metatag expects a string value, so serialize any array of values. Overrides MetaNameBase:: |
|
SchemaNameBase:: |
public static | function |
Provide a random test value. Overrides SchemaMetatagTestTagInterface:: |
|
SchemaNameBase:: |
public | function |
The serialized value for the metatag. Overrides MetaNameBase:: |
|
SchemaNameBase:: |
protected | function | The #states base visibility selector for this element. | |
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. |