日期:2016-06-20 阅读:3009
dmandwp系统 - wordpress系统和DM系统区块建站>>
A "Hello World" Custom Page Module
Drupal 8 Interconnections is a demo page highlighting the relationships between module components.
https://www.drupal.org/node/2464195 (链接里有例子源码)
-----------
第一步,在modulescustomhello目录里,建一个 hello.info.yml文件。
内容为:
name: Hello type: module description: Hello demo module. hello tvdrupal package: Custom core: 8.x
这时,访问后台的模块页面。
就会看到这个模块。但这个模块只是空的,什么事也做不了。
第二步,添加控制器。让模块做点事情:
在hello目录里加 /src/Controller/HelloController.php
HelloController.php的内容下面复制(双击源码再ctrl+c):
<?php /** * @file * Contains \Drupal\hello_world\Controller\HelloController. */ namespace Drupal\hello\Controller; use Drupal\Core\Controller\ControllerBase; class HelloController extends ControllerBase { public function content() { return array( '#type' => 'markup', '#markup' => $this->t('Hello, Worldcc!'), ); } }
https://www.drupal.org/docs/8/creating-custom-modules/adding-a-basic-controller
第三步,请加一个路由 hello.routing.yml,直白的说,就是加个网址。
hello.content: path: '/hello' defaults: _controller: '\Drupal\hello\Controller\HelloController::content' _title: 'Hello Worlddssssafs22' requirements: _permission: 'access content'
https://www.drupal.org/docs/8/creating-custom-modules/add-a-routing-file
第四步,启动模块,如果已经启动过,就要再清下缓存。
路由文件更改后,都要清下缓存。
这样,一个模块就可以用了。访问: www.yoursite.com/hello
------
上面只是一个简单的模块的代码介绍。
这里有一个详细的模块代码: http://cgit.drupalcode.org/examples/tree/page_example
更多的在 http://cgit.drupalcode.org/examples
drupal提供了一个examples的模块。 https://www.drupal.org/project/examples
-------------
Drupal 8 模块开发: http://go-peak.net/blog/2015/12/23/d8-buildmodule/
https://docs.acquia.com/article/building-modules-drupal-8