Initial commit

This commit is contained in:
Zhongwei Li
2025-11-30 08:45:14 +08:00
commit 6b9e245063
11 changed files with 1547 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
name: MODULELABEL
description: 'Description of what this module does.'
type: module
core_version_requirement: ^9 || ^10 || ^11
package: Custom
# Add dependencies as needed
# dependencies:
# - drupal:node
# - drupal:views

View File

@@ -0,0 +1,22 @@
<?php
/**
* @file
* Primary module hooks for MODULELABEL module.
*/
use Drupal\Core\Routing\RouteMatchInterface;
/**
* Implements hook_help().
*/
function MODULENAME_help($route_name, RouteMatchInterface $route_match) {
switch ($route_name) {
case 'help.page.MODULENAME':
$output = '<h3>' . t('About') . '</h3>';
$output .= '<p>' . t('Description of what this module does.') . '</p>';
return $output;
default:
}
}

View File

@@ -0,0 +1,8 @@
# Example route - customize or remove as needed
MODULENAME.example:
path: '/MODULENAME/example'
defaults:
_controller: '\Drupal\MODULENAME\Controller\ExampleController::content'
_title: 'Example Page'
requirements:
_permission: 'access content'

View File

@@ -0,0 +1,36 @@
# Module Template
This is a basic Drupal module template. To use it:
1. Copy this directory to your Drupal installation: `modules/custom/yourmodulename/`
2. Rename files from `MODULENAME.*` to `yourmodulename.*`
3. Replace all instances of `MODULENAME` with your module's machine name (lowercase, underscores)
4. Replace all instances of `MODULELABEL` with your module's human-readable name
5. Customize the module as needed
## Files Included
- `MODULENAME.info.yml` - Module metadata
- `MODULENAME.module` - Hook implementations
- `MODULENAME.routing.yml` - Route definitions
- `src/Controller/ExampleController.php` - Example controller
## Directory Structure
```
MODULENAME/
├── MODULENAME.info.yml
├── MODULENAME.module
├── MODULENAME.routing.yml
└── src/
└── Controller/
└── ExampleController.php
```
## Next Steps
After creating your module:
1. Enable it: `ddev drush en MODULENAME -y`
2. Clear cache: `ddev drush cr`
3. Visit your route: `/MODULENAME/example`

View File

@@ -0,0 +1,24 @@
<?php
namespace Drupal\MODULENAME\Controller;
use Drupal\Core\Controller\ControllerBase;
/**
* Returns responses for MODULELABEL routes.
*/
class ExampleController extends ControllerBase {
/**
* Builds the response.
*/
public function content() {
$build['content'] = [
'#type' => 'markup',
'#markup' => $this->t('Example content from MODULELABEL module.'),
];
return $build;
}
}