Bonjour,
J'ai ce soucis avec mon module créé en Drupal 8 :
J'ai créé un autre module avant et j'avais le même soucis, j'ai donc téléchargé un module tout fait que j'ai modifié avec ce que je voulais faire et j'avais résolu le soucis en supprimant le "/" de la route " path: '/hello/world'", ça à fonctionné. Je fais donc une copie conforme de ce module, pour pouvoir le modifier à nouveau, je voudrais faire un formulaire qui enregistre des informations dans une table et j'ai de nouveau ce soucis de "Page non trouvée".
Voici mon code :
Dans "module/custom/helloworld2"
helloworld2.info.yml
helloworld.module
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 name: 'Hello World' type: module description: 'Hello World Example module' core_version_requirement: ^8 || ^9 package: 'Custom' # Information added by Drupal.org packaging script on 2019-12-07 version: '8.x-1.3' project: 'helloworld2' datestamp: 1575735787
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 <?php /** * @file * Contains helloworld.module. */ use Drupal\Core\Routing\RouteMatchInterface; /** * Implements hook_help(). */ function helloworld_help($route_name, RouteMatchInterface $route_match) { switch ($route_name) { // Main module help for the helloworld module. case 'help.page.helloworld': $output = ''; $output .= '<h3>' . t('About') . '</h3>'; $output .= '<p>' . t('Hello World example module') . '</p>'; return $output; default: } } /** * Implements hook_theme(). */ function helloworld_theme() { return [ 'helloworld' => [ 'render element' => 'children', ], ]; }
helloworld.routing.yml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 helloworld2.default_controller_hello: path: 'hello/world' defaults: _controller: '\Drupal\helloworld2\Controller\DefaultController::hello' _title: 'Hello World!' requirements: _permission: 'access content'
src/Controller/DefaultController.php
composer.json
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 <?php namespace Drupal\helloworld2\Controller; use Drupal\Core\Controller\ControllerBase; /** * Class DefaultController. */ class DefaultController extends ControllerBase { /** * Hello. * * @return array * Return Hello string. */ public function hello() { return [ '#type' => 'markup', '#markup' => $this->t('<h2>Hello World (Example Drupal 8 Controller) code:</h2>') . '<code><?php<br>namespace Drupal\helloworld\Controller;<br>' . 'use Drupal\Core\Controller\ControllerBase;<br><br>' . 'class DefaultController extends ControllerBase {<br>' . ' public function hello() {<br>' . ' return [<br>' . ' \'#type\' => \'markup\',<br>' . ' \'#markup\' => $this->t(\'Hello World (Example Drupal 8 Controller) code!\')<br>' . ' ];<br> }<br>}</code>', ]; } }
drupalci.yml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 { "name": "helloworld2", "type": "drupal-module", "description": "Hello World example module", "keywords": [ ], "homepage": "https://www.drupal.org/project/helloworld2", "minimum-stability": "dev", "support": { "issues": "https://www.drupal.org/project/issues/helloworld2", "source": "http://cgit.drupalcode.org/helloworld2" } }
tests/src/Functional/LoadTest.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 build: assessment: validate_codebase: phplint: container_composer: csslint: eslint: phpcs: testing: run_tests.standard: types: 'Simpletest,PHPUnit-Unit,PHPUnit-Kernel,PHPUnit-Functional' # Test for Drupal 9 compatibility suppress-deprecations: false run_tests.js: concurrency: 1 types: 'PHPUnit-FunctionalJavascript' # Test for Drupal 9 compatibility suppress-deprecations: false nightwatchjs:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 <?php namespace Drupal\Tests\helloworld2\Functional; use Drupal\Core\Url; use Drupal\Tests\BrowserTestBase; /** * Simple test to ensure that main page loads with module enabled. * * @group helloworld */ class LoadTest extends BrowserTestBase { const TESTING_DEFAULT_THEME = 'classy'; const CORE_TESTING_DEFAULT_THEME = 'stark'; /** * {@inheritdoc} */ protected $defaultTheme = 'stark'; /** * Modules to enable. * * @var array */ public static $modules = ['helloworld2']; /** * A user with permission to administer site configuration. * * @var \Drupal\user\UserInterface */ protected $user; /** * {@inheritdoc} */ protected function setUp() { parent::setUp(); $this->user = $this->drupalCreateUser(['administer site configuration']); $this->drupalLogin($this->user); } /** * Tests that the home page loads with a 200 response. */ public function testLoad() { $this->drupalGet(Url::fromRoute('<front>')); $this->assertSession()->statusCodeEquals(200); } }
Pouvez-vous m'aider car je ne comprend pas d'où viens le soucis et je suis bloqué depuis un moment ?
Merci d'avance.
Partager