devel_wizard-2.x-dev/templates/spell/layout/class.php.twig
templates/spell/layout/class.php.twig
<?php
declare(strict_types=1);
namespace {{ class.namespace }};
use Drupal\Core\Layout\Attribute\Layout;
use Drupal\Core\StringTranslation\TranslatableMarkup;
use Drupal\layout_builder\Plugin\Layout\MultiWidthLayoutBase;
#[Layout(
id: '{{ layout.id }}',
label: new TranslatableMarkup('{{ extension.machineName}} - {{ layout.idShort }}'),
category: new TranslatableMarkup('{{ extension.machineName}}'),
description: new TranslatableMarkup('Configurable layout with two columns'),
template: 'templates/layout/{{ template.fileBaseName }}',
library: '{{ extension.machineName }}/layout.{{ layout.idShort }}',
icon_map: [
['first', 'second'],
],
regions: [
'first' => [
'label' => new TranslatableMarkup('First'),
],
'second' => [
'label' => new TranslatableMarkup('Second'),
],
],
default_region: 'first',
)]
class {{ class.name }} extends MultiWidthLayoutBase {
/**
* {@inheritdoc}
*
* @phpstan-return array{{ '<' }}string, string|\Stringable{{ '>' }}
*/
protected function getWidthOptions(): array {
return [
'content-sidebar' => $this->t('Content & Sidebar'),
];
}
}
