跳转到主要内容
maxiaoan 提交于 9 September 2014

先决条件: •友好的命令行( 没有用户界面 ) •PHP 5.4(检查也使用命令行) •git •Drush 7. x(dev)。 •Drupal 6网站(不推荐在生产运行迁移数据库) •最新版本的Drupal 8 •使模块迁移Drupal( drush en migrate_drupal) •确保Drush可以编写config目录。

没有UI,只有Drush

唯一的方法将数据迁移到Drupal8,使用Drupal迁移模块Drush 。 Drush支持的版本是Drupal8 和drupal7.x。 使用Drush迁移你需要最新的版本的drupal,所以 建议通过composer安装Drush 。 有一个UI创建( 迁移升级 ),但它仍然未完成。 这将是一个普通发布版模块,直到Drupal核心包括才算完成。

maxiaoan 提交于 9 September 2014

原文链接:Dynamic migrations (load plugins)

动态迁移(加载插件

当编写一个网站特定的迁移,目的地属性值是已知的。然而,当写一些更通用的,有可能迁移配置实体也需要写,尽管目的地属性值是不清楚的。 例如,当migrate_drupal核心模块不知道D6或D7节点。 所以它需要一些机制在php中来创建这些迁移而不是静态的YAML。 这种机制是加载插件。 当加载d6_cck_field_values:article :迁移、存储控制器认为这是一个动态的迁移d6_cck_field_values:article :基地迁移。它加载迁移,然后寻找一个加载(load)插件加载文章(article)。在这种情况下加载插件drupal_entity 配置流程复制源插件的基础领域的迁移。反过来,这些字段填写基于Drupal 6字段实例表和当前节点类型。 这些都是这是通过添加负载插件来实现: load: plugin: drupal_entity bundle_migration: d6_node_type 然后指定d6_cck_field_values:*作为迁移到加载

maxiaoan 提交于 9 September 2014

原文链接

迁移目的地

目的地插件必须有一个属性值,比较典型的是实体entity:entity_type.例如: destination: plugin: entity:block 另一个典型的例子是url_alias插件,迁移URL别名。config配置 插件允许创建最初的配置元素: destination: plugin: config config_name: book.settings config_name:book.settings 参考子页面关于更多的目的地插件。

maxiaoan 提交于 9 September 2014

原文链接Constant values

常量

有时你需要一个常量。 可能会用来也许是连接插件或者一些只是国定的值。 在这种情况下,首先需要在源中定义一个常量,然后过程中的的任何地方使用它。下面的示例设置id的属性值为常量node_search: source: constants: id: node_search process: id: constants/id 注意, 常量属性值没有什么特别的。如果包含一个constants的属性值,如果用另一个名字,例如defaults。换句话说,下面的代码示例和上面的作用相同: source: defaults: id: node_search process: id: defaults/id 因为源中这样的定义提供的默认值是从源中每一行检索(没有深度合并)。

maxiaoan 提交于 9 September 2014

原文链接Process plugin: get 过程插件get 通常, 获得get插件是每个流程的开始,通常是通过速记添加到另一个插件的源属性值。 get插件有一个配置的属性值source。该值通常是一个源属性值,当运行这个插件后,过程值将被设置为该属性的值。 即: br> process: bar: plugin: get source: foo 只会复制源foo的属性值到目标foo的属性,由于geet是默认的过程插件,因此他可以速记为这样的: process: bar: foo get插件还支持源属性值的列表。 如果该列表包含一个空元素,那么将使用当前的属性值。这使得当一个源属性值为一个空字符串作为它的名称时而获得该源是不可能的。 get也支持复制目的地的属性值。

maxiaoan 提交于 9 September 2014
原文链接:Migrate process > 迁移过程 迁移的属性值配置描述了目的地是如何将属性值从源数据一个一个(property-by-property)构造来的。 过程值是一个关联数组,是每个目的地的属性值。 每个属性值相关联的值描述了目的地属性值是如何创建的。 核心支持最常见情况下的速记。 不太常见的情况下,一个更详细的语法或者不能通过以这种方式表达的,需要编写一个自定义插件。 速记 简单复制 获取插件(get plugin) 用于从一个源属性值复制值。 与所有其他进程插件,可以不用显式命名即可使用它。 例如,复制源属性的值主题(subject)到目的地标题(title)。 process: title: subject 创建一个插件 目的地可能是由一个插件(除了隐式获得(get))创建的。 在这种情况下,属性值与目的地相关联的属性值包含一个关联数组插件,使用属性值来识别插件,对于的特殊的的插件,可能需要其他的属性值。
zheojian 提交于 9 September 2014

原文链接:Plugin API in Drupal 8

插件是小型的可插拔功能模块。 拥有类似功能的插件属于同一种插件类型

Drupal包含很多插件和插件类型。例如,'Field widget' (字段小工具)就是一种插件类型,而具体的字段类型就是插件。管理员用户可以从字段类型插件列表中选择并设置字段所使用的类型。

D8的插件系统提供了一套指导原则和可重用的代码组件,使开发者能够公开他们的可插拔组件,如需要,还能够通过用户界面管理这些组件。

插件是由模块定义的:一个模块可以提供不同类型的插件,不同的模块可以提供各自特定类型的插件。

概述

插件系统由三种基本元素构成:

  1. 插件类型

    插件类型是一个控制中心类,它决定了插件如何被系统发现和实例化。这个类型会描述其下所属插件的核心目标,例如后端缓存,图片操作,区块等等。

东方龙马 提交于 7 September 2014

水调歌头 甲午中秋 (赠Drupal群友)

                                                                              龙马

明月几时有?把酒问群友!不知群内高手,今夕在何处。

我欲明年再续,又恐尔等无趣,今夜寐难眠。

转别群,抵百度,招无数。不应有恨,何时才见众群友。

起身看QQ,何似在群聊!人有悲欢离合,群有你来我散,此事古难全!

但愿人长久,千里话Drupal。

订阅