0

在 Commerce KickStart 中,他们进行了一些迁移,但我试图复制的是 CommerceKickstartBagsCases,它正在创建 Bags_Cases 类型的产品。一切都很好,但在我的迁移中,作为术语参考,我没有得到“field_color:additional_field”这个选项

Class CommerceKickstartBagsCases extends CommerceKickstartMigration {

  /**
   * {@inheritdoc}
   */
  public function __construct($arguments = array()) {
    parent::__construct($arguments);
    $this->description = t('Import bags cases from CSV file.');
...
// Color.
    $this->addFieldMapping('field_color', 'color');
    $this->addFieldMapping('field_color:additional_field', 'hexadecimal');
    $this->addFieldMapping('field_color:create_term')
      ->defaultValue(TRUE);
...

}
}

基本上,在我的目标对象中,我看到了 field_color 和 field_color:create_term,但没有看到“field_color:additional_field”选项。

基本上,如果字段不存在,我可以映射字段并创建一个颜色术语,但我需要“field_color:additional_field”,因为除了术语名称之外,我还想用一些 RGB 代码填充一个名为颜色的字段。

我知道我可以单独创建术语迁移,但我想从我的产品迁移中创建这些术语,就像 commerce kickstart 正在做的那样。

我的感觉是我错过了一个模块,但我不能把手指放在它上面。

PS:我花了 2 小时在谷歌上搜索这些东西,但那里没有太多东西......

4

1 回答 1

0

根据我的迁移经验,我发现如果您有一个带有子字段的字段,那么这表明这是一个实体而不仅仅是一个字段,我必须将其作为实体迁移单独迁移(在您的情况下是 Term Migration ) 将其与父实体链接起来。

于 2016-02-16T14:54:49.283 回答