class Ds in Bootstrap Layouts 8.4
Same name and namespace in other branches
- 8.5 src/Plugin/BootstrapLayouts/Ds.php \Drupal\bootstrap_layouts\Plugin\BootstrapLayouts\Ds
Handles Display Suite specific layout implementations.
Plugin annotation
@BootstrapLayoutsHandler("ds");
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\bootstrap_layouts\Plugin\BootstrapLayouts\BootstrapLayoutsHandlerBase implements BootstrapLayoutsHandlerInterface uses \Symfony\Component\DependencyInjection\ContainerAwareTrait
- class \Drupal\bootstrap_layouts\Plugin\BootstrapLayouts\Ds
- class \Drupal\bootstrap_layouts\Plugin\BootstrapLayouts\BootstrapLayoutsHandlerBase implements BootstrapLayoutsHandlerInterface uses \Symfony\Component\DependencyInjection\ContainerAwareTrait
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of Ds
File
- src/
Plugin/ BootstrapLayouts/ Ds.php, line 13
Namespace
Drupal\bootstrap_layouts\Plugin\BootstrapLayoutsView source
class Ds extends BootstrapLayoutsHandlerBase {
/**
* {@inheritdoc}
*/
public function loadInstances(array $entity_ids = NULL) {
$layouts = [];
/** @var \Drupal\Core\Entity\Display\EntityDisplayInterface $display */
foreach (EntityViewDisplay::loadMultiple($entity_ids) as $entity_id => $display) {
if (($info = $display
->getThirdPartySettings('ds')) && isset($info['layout']['id'])) {
$id = $info['layout']['id'];
$regions = $info['regions'];
$settings = $info['layout']['settings'];
$path = isset($info['layout']['path']) ? $info['layout']['path'] : '';
$layouts[$entity_id] = new BootstrapLayout($id, $regions, $settings, $path);
}
}
return $layouts;
}
/**
* {@inheritdoc}
*/
public function saveInstances(array $layouts = []) {
$displays = EntityViewDisplay::loadMultiple(array_keys($layouts));
/** @var \Drupal\bootstrap_layouts\BootstrapLayout[] $layouts */
foreach ($layouts as $entity_id => $layout) {
/** @var \Drupal\Core\Entity\Display\EntityDisplayInterface $display */
$display = $displays[$entity_id];
$info = $display
->getThirdPartySettings('ds');
$info['layout']['id'] = $layout
->getId();
$info['regions'] = $layout
->getRegions();
$info['layout']['settings'] = $layout
->getSettings();
$info['layout']['path'] = $layout
->getPath();
// Unfortunately, there is no "setThirdPartySettings" method, so each
// property must be iterated over manually, set and then saved.
foreach ($info as $key => $value) {
$display
->setThirdPartySetting('ds', $key, $value);
}
$display
->save();
}
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
BootstrapLayoutsHandlerBase:: |
public static | function |
Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface:: |
|
BootstrapLayoutsHandlerBase:: |
public | function |
Retrieves the human readable label for the plugin. Overrides BootstrapLayoutsHandlerInterface:: |
|
BootstrapLayoutsHandlerBase:: |
public | function |
Loads a specific layout instance. Overrides BootstrapLayoutsHandlerInterface:: |
|
BootstrapLayoutsHandlerBase:: |
public | function |
Saves a specific layout instance. Overrides BootstrapLayoutsHandlerInterface:: |
|
BootstrapLayoutsHandlerBase:: |
public | function |
Constructs a \Drupal\Component\Plugin\PluginBase object. Overrides PluginBase:: |
|
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 | |
Ds:: |
public | function |
Loads layout instances. Overrides BootstrapLayoutsHandlerInterface:: |
|
Ds:: |
public | function |
Saves layout instances. Overrides BootstrapLayoutsHandlerInterface:: |
|
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. |