class SchemaHasPartBase in Schema.org Metatag 7
Provides a plugin for the 'hasPart' meta tag.
Currently applies only to isAccessibleForFree.
Hierarchy
- class \DrupalDefaultMetaTag implements DrupalMetaTagInterface
- class \DrupalTextMetaTag
- class \SchemaNameBase implements SchemaMetatagTestTagInterface
- class \SchemaHasPartBase uses SchemaHasPartTrait
- class \SchemaNameBase implements SchemaMetatagTestTagInterface
- class \DrupalTextMetaTag
Expanded class hierarchy of SchemaHasPartBase
See also
https://developers.google.com/search/docs/data-types/paywalled-content
3 string references to 'SchemaHasPartBase'
- schema_article_metatag_info in schema_article/
schema_article.metatag.inc - Implements hook_metatag_info().
- schema_metatag_test_metatag_info in tests/
schema_metatag_test.metatag.inc - Implements hook_metatag_info().
- schema_web_page_metatag_info in schema_web_page/
schema_web_page.metatag.inc - Implements hook_metatag_info().
File
- src/
SchemaHasPartBase.php, line 10
View source
class SchemaHasPartBase extends SchemaNameBase {
use SchemaHasPartTrait;
/**
* {@inheritdoc}
*/
public function getForm(array $options = []) {
$value = $this
->schemaMetatagManager()
->unserialize($this
->value());
$input_values = [
'title' => $this
->label(),
'description' => $this
->description(),
'value' => $value,
'#required' => isset($options['#required']) ? $options['#required'] : FALSE,
'visibility_selector' => $this
->visibilitySelector(),
];
$form['value'] = $this
->hasPartForm($input_values);
if (empty($this
->multiple())) {
unset($form['value']['pivot']);
}
// Validation from parent::getForm() got wiped out, so add callback.
$form['value']['#element_validate'][] = 'schema_metatag_element_validate';
return $form;
}
/**
* {@inheritdoc}
*/
public static function testValue() {
$items = [];
$keys = [
'@type',
'@id',
'name',
];
foreach ($keys as $key) {
switch ($key) {
case '@type':
$items[$key] = 'WebPageElement';
break;
case 'potentialAction':
$items[$key] = SchemaActionBase::testValue();
break;
default:
$items[$key] = parent::testDefaultValue(1, '');
break;
}
}
return $items;
}
/**
* {@inheritdoc}
*/
public static function processedTestValue($items) {
foreach ($items as $key => $value) {
switch ($key) {
case 'potentialAction':
$items[$key] = SchemaActionBase::processedTestValue($items[$key]);
break;
}
}
return $items;
}
}
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 |
SchemaActionTrait:: |
public | function | Create the form element. | |
SchemaActionTrait:: |
public static | function | Return an array of all actions for an action type. | |
SchemaActionTrait:: |
public static | function | Return an array of the unique properties for an action type. | |
SchemaActionTrait:: |
public static | function | All action types. | |
SchemaActionTrait:: |
public static | function | Get the action type for a given action. | |
SchemaActionTrait:: |
public static | function | Get an array of all actions, grouped by action type. | |
SchemaHasPartBase:: |
public | function |
Build the form for this meta tag. Overrides SchemaNameBase:: |
1 |
SchemaHasPartBase:: |
public static | function |
Provide a test output value for the input value. Overrides SchemaNameBase:: |
|
SchemaHasPartBase:: |
public static | function |
Provide a test input value for the property that will validate. Overrides SchemaNameBase:: |
|
SchemaHasPartTrait:: |
public | function | Create the form element. | |
SchemaHasPartTrait:: |
public static | function | All object types. | |
SchemaHasPartTrait:: |
public static | function | Return an array of the unique properties for an object type. | |
SchemaHasPartTrait:: |
abstract protected | function |
Return the SchemaMetatagManager. Overrides SchemaActionTrait:: |
|
SchemaImageTrait:: |
public | function | The form element. | |
SchemaNameBase:: |
protected | property | The schemaMetatagManager service. | |
SchemaNameBase:: |
public | function | ||
SchemaNameBase:: |
public | function |
Get the HTML tag for this meta tag. Overrides DrupalDefaultMetaTag:: |
1 |
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:: |
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:: |
public | function | ||
SchemaNameBase:: |
public static | function |
Provide a random test value. Overrides SchemaMetatagTestTagInterface:: |
|
SchemaNameBase:: |
public | function | ||
SchemaNameBase:: |
protected | function | The #states visibility selector for this element. | |
SchemaNameBase:: |
function |
Constructor. Overrides DrupalDefaultMetaTag:: |
1 | |
SchemaPersonOrgTrait:: |
public | function | The form element. |