Initial Drupal 11 with DDEV setup

This commit is contained in:
gluebox
2025-10-08 11:39:17 -04:00
commit 89ef74b305
25344 changed files with 2599172 additions and 0 deletions

View File

@ -0,0 +1,40 @@
<?php
namespace Drupal\layout_discovery\Hook;
use Drupal\Core\Hook\Attribute\Hook;
use Drupal\Core\StringTranslation\StringTranslationTrait;
/**
* Hook implementations for layout_discovery.
*/
class LayoutDiscoveryHooks {
use StringTranslationTrait;
/**
* Implements hook_help().
*/
#[Hook('help')]
public function help($route_name): ?string {
switch ($route_name) {
case 'help.page.layout_discovery':
$output = '<h2>' . $this->t('About') . '</h2>';
$output .= '<p>' . $this->t('Layout Discovery allows modules or themes to register layouts, and for other modules to list the available layouts and render them.') . '</p>';
$output .= '<p>' . $this->t('For more information, see the <a href=":layout-discovery-documentation">online documentation for the Layout Discovery module</a>.', [
':layout-discovery-documentation' => 'https://www.drupal.org/docs/8/api/layout-api',
]) . '</p>';
return $output;
}
return NULL;
}
/**
* Implements hook_theme().
*/
#[Hook('theme')]
public function theme() : array {
return \Drupal::service('plugin.manager.core.layout')->getThemeImplementations();
}
}

View File

@ -0,0 +1,29 @@
<?php
declare(strict_types=1);
namespace Drupal\layout_discovery\Install\Requirements;
use Drupal\Core\Extension\InstallRequirementsInterface;
use Drupal\Core\Extension\Requirement\RequirementSeverity;
/**
* Install time requirements for the layout_discovery module.
*/
class LayoutDiscoveryRequirements implements InstallRequirementsInterface {
/**
* {@inheritdoc}
*/
public static function getRequirements(): array {
$requirements = [];
if (\Drupal::moduleHandler()->moduleExists('layout_plugin')) {
$requirements['layout_discovery'] = [
'description' => t('Layout Discovery cannot be installed because the Layout Plugin module is installed and incompatible.'),
'severity' => RequirementSeverity::Error,
];
}
return $requirements;
}
}