Drupal8

翻译:长风Drupal开发

原文:https://www.drupal.org/docs/8/creating-custom-modules/use-config-in-block-display

为了在Drupal8开发的区块实例中使用配置信息,我们需要修改HelloBlock类的build()方法;

翻译者:长风Drupal开发

原文:https://www.drupal.org/docs/8/creating-custom-modules/process-the-block-config-form


在之前的基于Drupal8开发的模块中,添加如下的方法到htlloworld类中,在这个例子中,他的位置在src/Plugin/Block/HelloBlock.php,但是你开始面向对象的思维后,这个文件的物理位置并不重要,反而他的命名空间更重要。如果你是一个精通于面向对象的开发者,你可以很轻松的区分这两者,这实际的案例中,他和Drupal中模块的文件夹的命名非常相似,

翻译者:长风Drupal开发

原文地址:https://www.drupal.org/docs/8/creating-custom-modules/add-a-form-to-the-block-configuration

接下来,我们想为Drupal8区块的实例添加一个可以输入配置信息的表单,所有在Drupal8站点中的配置信息都可以被导入或者导出到生产站点,作为一个Drupal8模块开发者,同样可以提供可以为Drupal建站者提供一个自动填写表单的配置信息。

在你已经存在的 HelloBlock 类,加入如下:

翻译者:长风Drupal开发

原文地址:https://www.drupal.org/docs/8/creating-custom-modules/create-a-custom-block


Drupal8开发中创建一个自定义区块。

Drupal8中的区块是区块插件的实例。Drupal会扫描的你的模块里面所有包含@Block的类;

下面的例子将使用包含“id”和“admin_label”的@Block来定义自定义区块。

翻译者:长风Drupal开发

原文地址:https://www.drupal.org/docs/8/creating-custom-modules/adding-custom-blocks-to-your-custom-module

Drupal7开发不同,创建一个块的多个实例放置在您的网站是在Drupal8模块创建可用的第二最简单的例子。

在这一节中你将学习如何编程的块布局界面添加一块。如何向块中添加(管理)配置窗体,以及如何处理表单。最后,您将学习如何添加和显示窗体的默认配置值。

在开始行之前,请按照指令准备模块骨架,准备一个模块框架。


翻译者:长风Drupal开发

原文地址:https://www.drupal.org/docs/8/creating-custom-modules/going-further

这个Drupal8模块开发教程的章节继续 Hello world模块,一步一步向你展示添加自定义区块。

作为冒险,你可以跳过 examples模块。是在这个教程中用到的example模块是完整的版本,如果你第一次看这里,请继续阅读,查阅example模块。


现在,在你的模块的根目录先创建一个新文件,命名为hello_world.links.menu.yml 并且添加下面的的代码

hello_world.admin:
  title: 'Hello module settings'
  description: 'example of how to make an admin settings page link'
  parent: system.admin_config_development
  route_name: hello_world.content
  weight: 100


请注意,第一行保留一个指定的空间,就像routing 文件中的例子一样,同时要注意第五行的route name。这将在你的站点管理界面下的配置tab添加一个链接。


详细介绍Drupal8模块开发,添加一个routing文件,添加链接、标题等。回到你的模块的根目录中 ,也就是.info.yml所在的目录,添加一个新文件,命名为hello_world.routing.yml,编写如下代码

hello_world.content:
  path: '/hello'
  defaults:
    _controller: '\Drupal\hello_world\Controller\HelloController::content'
    _title: 'Hello World'
  requirements:
    _permission: 'access content'


Drupal8开发中,当routing 系统调用这个页面,在helloContrller class 里的content()函数将被调用返回标记文字,

在你的模块文件夹中,你应该有一个PSR-4的标准文件夹结构,/src/Controller, 在这个文件夹中,你应该有你的HelloController.php controller 文件

你的controller文件将是这样 /src/Controller/HelloController.php

在你的HelloController.php文件中是这样的代码:

Drupal8开发的本章节,将带领你创建一个简单的模块

第一个在屏幕上显示“hello world”的程序是学习一门程序的悠久历史

尽管Drupal8是最强壮、最先进的开源系统之一,它也深深植根于悠久的科学技术传统。

在开始进行Drupal8模块开发之前,请按照这里的说明编写模块骨架

Drupal 8互联是一个演示页突出之间的模块组件之间的关系。


Pages