class SchemaItemListBase in Schema.org Metatag 7
Provides a plugin for the 'schema_item_list' meta tag.
Hierarchy
- class \DrupalDefaultMetaTag implements DrupalMetaTagInterface
- class \DrupalTextMetaTag
- class \SchemaNameBase implements SchemaMetatagTestTagInterface
- class \SchemaItemListBase
- class \SchemaNameBase implements SchemaMetatagTestTagInterface
- class \DrupalTextMetaTag
Expanded class hierarchy of SchemaItemListBase
File
- src/
SchemaItemListBase.php, line 6
View source
class SchemaItemListBase extends SchemaNameBase {
/**
* {@inheritdoc}
*/
public function getElement(array $options = array()) {
$element = parent::getElement($options);
if (!empty($element)) {
$view = $options['token data']['view'];
$id = $view->base_field;
$entity_type = $view->base_table;
$key = 1;
$value = [];
foreach ($view->result as $item) {
// If this is a display that does not provide an entity in the result,
// there is really nothing more to do.
if (empty($item->{$id})) {
return '';
}
// Get the absolute path to this entity.
$entity = entity_load($entity_type, [
$item->{$id},
]);
$entity = array_shift($entity);
$uri = entity_uri($entity_type, $entity);
$url = drupal_get_path_alias($uri['path']);
$absolute = url($url, array(
'absolute' => TRUE,
));
$value[] = [
'@type' => 'ListItem',
'position' => $key,
'name' => $entity->title,
'url' => $absolute,
];
$key++;
}
foreach ($element['#attached']['drupal_add_html_head'] as $key => $item) {
if ($item[1] == 'schema_metatag_schema_item_list.itemListElement') {
$element['#attached']['drupal_add_html_head'][$key][0]['#attributes']['content'] = $value;
}
}
}
return $element;
}
}
Members
Name![]() |
Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DrupalDefaultMetaTag:: |
protected | property | The values submitted for this tag. | |
DrupalDefaultMetaTag:: |
protected | property | All of the basic information about this tag. | |
DrupalDefaultMetaTag:: |
protected | property | This item's weight; used for sorting the output. | |
DrupalDefaultMetaTag:: |
protected | function | Make sure a given URL is absolute. | |
DrupalDefaultMetaTag:: |
public | function |
Calculate the weight of this meta tag. Overrides DrupalMetaTagInterface:: |
|
DrupalDefaultMetaTag:: |
protected | function | Identify the maximum length of which strings will be allowed. | |
DrupalDefaultMetaTag:: |
public static | function |
Copied from text.module with the following changes:. Overrides DrupalMetaTagInterface:: |
|
DrupalDefaultMetaTag:: |
protected | function | Remove unwanted formatting from a meta tag. | |
DrupalDefaultMetaTag:: |
protected | function | Shorten a string to a certain length using ::textSummary(). | |
DrupalTextMetaTag:: |
public | function |
Get the string value of this meta tag. Overrides DrupalDefaultMetaTag:: |
1 |
SchemaItemListBase:: |
public | function |
Get the HTML tag for this meta tag. Overrides SchemaNameBase:: |
|
SchemaNameBase:: |
protected | property | The schemaMetatagManager service. | |
SchemaNameBase:: |
public | function | ||
SchemaNameBase:: |
public | function |
Build the form for this meta tag. Overrides DrupalTextMetaTag:: |
32 |
SchemaNameBase:: |
public | function | ||
SchemaNameBase:: |
public | function | ||
SchemaNameBase:: |
public | function | ||
SchemaNameBase:: |
public static | function | Nested elements that cannot be exploded. | |
SchemaNameBase:: |
public static | function |
Transform input value to its display output. Overrides SchemaMetatagTestTagInterface:: |
2 |
SchemaNameBase:: |
public static | function | ||
SchemaNameBase:: |
public static | function |
Provide a test output value for the input value. Overrides SchemaMetatagTestTagInterface:: |
17 |
SchemaNameBase:: |
protected | function | Process an individual item. | |
SchemaNameBase:: |
public static | function |
Explode a test value. Overrides SchemaMetatagTestTagInterface:: |
|
SchemaNameBase:: |
public static | function |
Random absolute url for testing. Overrides SchemaMetatagTestTagInterface:: |
|
SchemaNameBase:: |
protected | function | Return the SchemaMetatagManager. | |
SchemaNameBase:: |
public | function | ||
SchemaNameBase:: |
public static | function |
Provide a random test value. Overrides SchemaMetatagTestTagInterface:: |
|
SchemaNameBase:: |
public static | function |
Provide a test input value for the property that will validate. Overrides SchemaMetatagTestTagInterface:: |
33 |
SchemaNameBase:: |
public | function | ||
SchemaNameBase:: |
protected | function | The #states visibility selector for this element. | |
SchemaNameBase:: |
function |
Constructor. Overrides DrupalDefaultMetaTag:: |
1 |