使用的模块: Simplenews和迁移。
我有一个通讯,我想订阅从csv文件导入的所有用户。
这是我的csv文件内容:
id,email,date_submitted这是我的yml导入文件
langcode: en
status: true
dependencies: { }
id: test_subscriber
class: null
field_plugin_method: null
cck_plugin_method: null
migration_tags:
- CSV
migration_group: test
label: 'Test Subscriber'
source:
plugin: csv
path: sites/default/import/subscriber.csv
delimiter: ','
enclosure: '"'
header_row_count: 1
track_changes: true
ids:
- id
process:
type:
plugin: default_value
default_value: simplenews_subscriber
created: date_submitted
mail: email
status:
plugin: default_value
default_value: 1
subscriptions:
plugin: sub_process
source: subscriptions
process:
target_id:
plugin: default_value
default_value: my_newsletter
status:
plugin: default_value
default_value: 1
timestamp: date_submitted
source:
plugin: default_value
default_value: website
destination:
plugin: 'entity:simplenews_subscriber'
migration_dependencies:
required: { }
optional: { }我可以用电子邮件和时间戳成功地导入所有用户,但是用户没有订阅时事通讯(my_newsletter)。
在数据库中,我有一个表"simplenews_subscriber__subscriptions“,但是列"entity_id”、"subscription_target_id“、"subscription_status”、"subscription_timestamp“和"subscriptions_source”没有被填充。
如果我按如下方式更改yml文件中的订阅设置:
subscriptions:
target_id:
plugin: default_value
default_value: my_newsletter
status:
plugin: default_value
default_value: 1
timestamp:
plugin: default_value
default_value: date_submitted
source:
plugin: default_value
default_value: website在数据库表"simplenews_subscriber__subscriptions“中,"entity_id”和"subscription_target_id“列被填充,但"subscription_status”、"subscription_timestamp“和"subscriptions_source”列使用null而不是数据填充。
最终结果是一个未订阅my_newsletter的用户列表(在订阅者编辑页面中,未选中my_newsletter复选框)
提前感谢愿意给我小费的人。
发布于 2022-04-29 14:07:13
我终于解决了这个问题。而不是这个yml段代码
subscriptions:
target_id:
plugin: default_value
default_value: my_newsletter我改了这个代码
subscriptions/target_id:
plugin: default_value
default_value: my_newsletter这里是完整的代码
langcode: en
status: true
dependencies: { }
id: test_subscriber
class: null
field_plugin_method: null
cck_plugin_method: null
migration_tags:
- CSV
migration_group: test
label: 'Test Subscriber'
source:
plugin: csv
path: sites/default/import/subscriber.csv
delimiter: ','
enclosure: '"'
header_row_count: 1
track_changes: true
ids:
- id
process:
type:
plugin: default_value
default_value: simplenews_subscriber
created: date_submitted
mail: email
status:
plugin: default_value
default_value: 1
subscriptions/target_id:
plugin: default_value
default_value: my_newsletter
subscriptions/status:
plugin: default_value
default_value: 1
subscriptions/timestamp:
plugin: default_value
default_value: date_submitted
subscriptions/source:
plugin: default_value
default_value: website
destination:
plugin: 'entity:simplenews_subscriber'
migration_dependencies:
required: { }
optional: { }https://drupal.stackexchange.com/questions/310903
复制相似问题