class EntityEmbed in Entity Usage 8
Same name and namespace in other branches
- 8.2 src/Plugin/EntityUsage/Track/EntityEmbed.php \Drupal\entity_usage\Plugin\EntityUsage\Track\EntityEmbed
- 8.3 src/Plugin/EntityUsage/Track/EntityEmbed.php \Drupal\entity_usage\Plugin\EntityUsage\Track\EntityEmbed
Tracks usage of entities related in entity_reference fields.
Plugin annotation
@EntityUsageTrack(
id = "entity_embed",
label = @Translation("Entities embedded with Entity Embed"),
description = @Translation("Tracks usage of entities related when embedded with Entity Embed."),
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\entity_usage\EntityUsageTrackBase implements ContainerFactoryPluginInterface, EntityUsageTrackInterface
- class \Drupal\entity_usage\Plugin\EntityUsage\Track\EmbedBase implements EmbedTrackInterface
- class \Drupal\entity_usage\Plugin\EntityUsage\Track\EntityEmbed
- class \Drupal\entity_usage\Plugin\EntityUsage\Track\EmbedBase implements EmbedTrackInterface
- class \Drupal\entity_usage\EntityUsageTrackBase implements ContainerFactoryPluginInterface, EntityUsageTrackInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of EntityEmbed
File
- src/
Plugin/ EntityUsage/ Track/ EntityEmbed.php, line 16
Namespace
Drupal\entity_usage\Plugin\EntityUsage\TrackView source
class EntityEmbed extends EmbedBase {
/**
* {@inheritdoc}
*/
public function parseEntitiesFromText($text) {
$dom = Html::load($text);
$xpath = new \DOMXPath($dom);
$entities = [];
foreach ($xpath
->query('//drupal-entity[@data-entity-type and @data-entity-uuid]') as $node) {
// Note that this does not cover 100% of the situations. In the (unlikely
// but possible) use case where the user embeds the same entity twice in
// the same field, we are just recording 1 usage for this target entity,
// when we should record 2. The alternative is to add a lot of complexity
// to the update logic of our plugin, to deal with all possible
// combinations in the update scenario.
// @TODO Re-evaluate if this is worth the effort and overhead.
$entities[$node
->getAttribute('data-entity-uuid')] = $node
->getAttribute('data-entity-type');
}
return $entities;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | 1 | |
DependencySerializationTrait:: |
public | function | 2 | |
EmbedBase:: |
protected | property | The EntityRepository service. | |
EmbedBase:: |
protected | property | The ModuleHandler service. | |
EmbedBase:: |
public static | function |
Creates an instance of the plugin. Overrides EntityUsageTrackBase:: |
|
EmbedBase:: |
protected | function | Helper method to decrement the usage for embedded entities. | |
EmbedBase:: |
protected | function | Finds all entities embedded (<drupal-entity>) by formatted text fields. | |
EmbedBase:: |
protected | function | Helper method to increment the usage for embedded entities. | |
EmbedBase:: |
public | function |
Track usage updates on the creation of entities. Overrides EntityUsageTrackBase:: |
|
EmbedBase:: |
public | function |
Track usage updates on the deletion of entities. Overrides EntityUsageTrackBase:: |
|
EmbedBase:: |
public | function |
Track usage updates on the edition of entities. Overrides EntityUsageTrackBase:: |
|
EmbedBase:: |
public | function |
Constructs display plugin. Overrides EntityUsageTrackBase:: |
|
EntityEmbed:: |
public | function |
Parse an HTML snippet looking for embedded entities. Overrides EmbedTrackInterface:: |
|
EntityUsageTrackBase:: |
protected | property | The usage tracking service. | |
EntityUsageTrackBase:: |
public | function | ||
EntityUsageTrackBase:: |
public | function |
Returns the tracking method description. Overrides EntityUsageTrackInterface:: |
|
EntityUsageTrackBase:: |
public | function |
Returns the tracking method unique id. Overrides EntityUsageTrackInterface:: |
|
EntityUsageTrackBase:: |
public | function |
Returns the tracking method label. Overrides EntityUsageTrackInterface:: |
|
MessengerTrait:: |
protected | property | The messenger. | 29 |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
MessengerTrait:: |
public | function | Sets the messenger. | |
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. | |
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. |