class BreadcrumbList in Schema.org Metatag 8.2
Provides a plugin for the 'ItemListElement' Schema.org property type.
Plugin annotation
@SchemaPropertyType(
id = "breadcrumb_list",
label = @Translation("BreadcrumbList"),
tree_parent = {
"BreadcrumbList",
},
tree_depth = -1,
property_type = "BreadcrumbList",
sub_properties = {},
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\schema_metatag\Plugin\schema_metatag\PropertyTypeBase implements ContainerFactoryPluginInterface, PropertyTypeInterface, SchemaMetatagTestTagInterface uses StringTranslationTrait
- class \Drupal\schema_metatag\Plugin\schema_metatag\PropertyType\ItemListElement
- class \Drupal\schema_metatag\Plugin\schema_metatag\PropertyType\BreadcrumbList
- class \Drupal\schema_metatag\Plugin\schema_metatag\PropertyType\ItemListElement
- class \Drupal\schema_metatag\Plugin\schema_metatag\PropertyTypeBase implements ContainerFactoryPluginInterface, PropertyTypeInterface, SchemaMetatagTestTagInterface uses StringTranslationTrait
Expanded class hierarchy of BreadcrumbList
1 string reference to 'BreadcrumbList'
- BreadcrumbList::outputValue in src/
Plugin/ schema_metatag/ PropertyType/ BreadcrumbList.php - Transform input value to its display output.
File
- src/
Plugin/ schema_metatag/ PropertyType/ BreadcrumbList.php, line 21
Namespace
Drupal\schema_metatag\Plugin\schema_metatag\PropertyTypeView source
class BreadcrumbList extends ItemListElement {
/**
* {@inheritdoc}
*/
public function form($input_values) {
$value = $input_values['value'];
$form = [
'#type' => 'select',
'#title' => $input_values['title'],
'#description' => $input_values['description'],
'#default_value' => !empty($value) ? $value : '',
'#maxlength' => 255,
'#empty_option' => $this
->t('No'),
'#empty_value' => '',
'#options' => [
'Yes' => $this
->t('Yes'),
],
];
return $form;
}
/**
* {@inheritdoc}
*/
public function testValue($type = '') {
return 'Yes';
}
/**
* {@inheritdoc}
*/
public 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 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 |
---|---|---|---|---|
BreadcrumbList:: |
public | function |
Create a complete form element for this property type. Overrides ItemListElement:: |
|
BreadcrumbList:: |
public | function |
Overrides ItemListElement:: |
|
BreadcrumbList:: |
public | function |
Transform input value to its display output. Overrides ItemListElement:: |
|
BreadcrumbList:: |
public | function |
Provide a test input value for the property that will validate. Overrides ItemListElement:: |
|
ItemListElement:: |
protected static | function | Tries to retrieve an entity from a Views row. | |
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. | |
PluginBase:: |
public | function | Constructs a \Drupal\Component\Plugin\PluginBase object. | 92 |
PropertyTypeBase:: |
protected | property | The propertyTypeManager service. | |
PropertyTypeBase:: |
protected | property | The SchemaMetatagClient service. | |
PropertyTypeBase:: |
protected | property | The schemaMetatagManager service. | |
PropertyTypeBase:: |
public static | function |
Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface:: |
|
PropertyTypeBase:: |
public | function |
A property form element. Overrides PropertyTypeInterface:: |
5 |
PropertyTypeBase:: |
public | function |
Get an instance of a child property type. Overrides PropertyTypeInterface:: |
|
PropertyTypeBase:: |
public | function |
Create an option list for a given tree section. Overrides PropertyTypeInterface:: |
|
PropertyTypeBase:: |
public | function |
The property type. Overrides PropertyTypeInterface:: |
|
PropertyTypeBase:: |
public | function |
The sub-properties. Overrides PropertyTypeInterface:: |
|
PropertyTypeBase:: |
public | function |
Get some or all of the object tree as options for @type. Overrides PropertyTypeInterface:: |
|
PropertyTypeBase:: |
public | function |
The depth of the class tree to use for @type options. Overrides PropertyTypeInterface:: |
|
PropertyTypeBase:: |
public | function |
The classes to use for the @type options of this property. Overrides PropertyTypeInterface:: |
|
PropertyTypeBase:: |
public | function |
Construct the visibility selector for a set of values. Overrides PropertyTypeInterface:: |
|
PropertyTypeBase:: |
public | function |
Pivot form element. Overrides PropertyTypeInterface:: |
|
PropertyTypeBase:: |
public | function |
Provide a test output value for the input value. Overrides SchemaMetatagTestTagInterface:: |
|
PropertyTypeBase:: |
public | function |
Explode a test value. Overrides SchemaMetatagTestTagInterface:: |
|
PropertyTypeBase:: |
public | function |
Get all the properties of a property type. Overrides PropertyTypeInterface:: |
|
PropertyTypeBase:: |
public | function |
The Schema Metatag Client service. Overrides PropertyTypeInterface:: |
|
PropertyTypeBase:: |
public | function |
The Schema Metatag Manager service. Overrides PropertyTypeInterface:: |
|
PropertyTypeBase:: |
public | function | Sets PropertyTypeManager service. | |
PropertyTypeBase:: |
public | function | Sets SchemaMetatagClient service. | |
PropertyTypeBase:: |
public | function | Sets schemaMetatagManager service. | |
PropertyTypeBase:: |
public | function |
Provide a random test value. Overrides SchemaMetatagTestTagInterface:: |
|
PropertyTypeBase:: |
public static | function |
Validates the property form when submitted. Overrides PropertyTypeInterface:: |
|
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. |