所以我有一个自定义的Drupal 8迁移,我们从XML导入节点 - 一切都很好。现在我想添加一个预导入功能,以便在迁移之前。在Drupal 7 Migrate中有preImport() - Drupal 8的方法是什么?我发现这篇文章关于Events added to migration process,但它仍然不清楚如何继续......感谢您的任何提示!迁移预导入事件/事件侦听器
0
A
回答
0
您需要创建自己的事件订户,这里的简短说明:https://www.chapterthree.com/blog/how-to-register-event-subscriber-drupal8
这里的EventSubscriber(my_migration/src目录/ EventSubscriber/PreImportEvent.php)的具体例子:
<?php
namespace Drupal\my_migration\EventSubscriber;
use Drupal\migrate\Event\MigrateEvents;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
/**
* Class PreImportEvent
*
* @package Drupal\my_migration\EventSubscriber
*/
class PreImportEvent implements EventSubscriberInterface {
/**
* @return mixed
*/
public static function getSubscribedEvents() {
$events[MigrateEvents::PRE_IMPORT][] = [
'preImport',
0,
];
return $events;
}
/**
* @param $event
*/
public function preImport($event) {
// Do whatever you want with $event
}
}
现在您需要为您的EventSubscriber(my_migration/my_migration.services.yml)注册服务:
services:
my_migration.subscriber.pre_import:
class: Drupal\my_migration\EventSubscriber\PreImportEvent
tags:
- { name: event_subscriber }
注意:如果你需要改变您的每个字段的迁移基数,您最好使用进程插件(https://www.drupal.org/docs/8/api/migrate-api/migrate-process-plugins)。
相关问题
- 1. 事件侦听器
- 2. 将事件侦听器传递给事件侦听器?
- 3. JW6事件 - 事件侦听
- 4. 事件侦听器5
- 5. 事件侦听器在evently
- 6. 蜡染事件侦听器
- 7. ZF3 onRoute事件侦听器
- 8. reactjs事件侦听器window.resize
- 9. 事件侦听环
- 10. 添加事件侦听器,以形成由事件监听器
- 11. 将一个事件侦听器更改为另一个事件侦听器?
- 12. Flex移动侦听事件<s:View>
- 13. 事件侦听通知其他事件
- 14. NodeJS事件循环与事件侦听
- 15. 浏览器和viewer.container事件侦听器
- 16. 的Symfony2式事件侦听
- 17. JavaScript事件侦听非输入元素
- 18. 如何删除事件侦听器?
- 19. 如何“范围”事件侦听器?
- 20. XMLHTTPRequest事件侦听器不工作?
- 21. jQuery keypress()事件侦听器问题
- 22. ActionScript中,对象和事件侦听器
- 23. Hibernate事件侦听器 - postFlush等效
- 24. 将事件侦听器添加到iframe
- 25. TypeScript自定义事件侦听器
- 26. while循环忽略事件侦听器
- 27. 添加事件侦听器的错误
- 28. Android - 如何侦听器系统事件?
- 29. 重复事件侦听器的数量?
- 30. 如何删除事件侦听器?