27 lines
1.3 KiB
Plaintext
27 lines
1.3 KiB
Plaintext
The API of Single Directory Components includes:
|
|
|
|
- The component plugin manager (the service with name plugin.manager.sdc).
|
|
This service will be needed by modules that need to find and instantiate
|
|
components.
|
|
- The exceptions. Code using Single Directory Components can rely, and extend,
|
|
the exceptions provided by the experimental module.
|
|
- The folder structure of a component and the naming conventions of the files
|
|
in it.
|
|
- The structure of the component metadata (the my-component.component.yml).
|
|
Note that the metadata of the component is described, and optionally
|
|
validated, by the schema in metadata.schema.json (this file is for internal validation and not part of the API).
|
|
- The render element and its class \Drupal\sdc\Element\ComponentElement.
|
|
- The naming convention for the ID when using Twig's include, embed, and
|
|
extends. This naming convention is [module/theme]:[component machine name].
|
|
See the example below.
|
|
|
|
{% embed 'my-theme:my-component' with { prop1: content.field_for_prop1 } %}
|
|
{% block slot1 %}
|
|
{{ content|without('field_for_prop1') }}
|
|
{% endblock %}
|
|
{% endembed %}
|
|
|
|
This way of specifying the component for Twig's include, embed, and
|
|
extends('my-theme:my-component' in the example) will not change, as it is
|
|
considered an API.
|