Oro平台customer_user_confirmation_email模板迁移更新无效果咨询
解决步骤
- 确认迁移类存放路径
继承AbstractHashEmailMigration的类属于数据迁移类,不需要放在Migrations/Data/ORM/Schema/vx_y目录下,直接放在GDM/Bundle/CustomerUserBundle/Migrations/Data/ORM/目录即可。 - 核对模板标识配置
如果你是要修改Oro原生的customer_user_confirmation_email模板,getEmailHashesToUpdate返回的数组键应该是原生模板名customer_user_confirmation_email,而不是你自定义的customer_user_confirmation_email_gdm;如果是新增自定义模板,需要额外配置系统参数,让用户确认邮件使用你自定义的模板标识。 - 确认模板哈希值正确
数组值对应的MD5哈希必须是你修改后的模板内容的MD5值,哈希和当前系统内存储的模板哈希一致的话,系统会判定无更新,不会执行覆盖。你可以重新计算你当前模板文件内容的MD5替换掉现有值。 - 核对模板文件目录结构
在getEmailsDir返回的GDM/Bundle/CustomerUserBundle/Migrations/Data/ORM/data/emails/customer-user目录下,必须存在和模板标识同名的文件夹,比如你的模板标识是customer_user_confirmation_email_gdm,就需要对应有如下结构:customer-user/ └── customer_user_confirmation_email_gdm/ ├── customer_user_confirmation_email_gdm.html.twig ├── customer_user_confirmation_email_gdm.txt.twig └── customer_user_confirmation_email_gdm.yml - 重新执行迁移
如果之前已经运行过该迁移,系统的迁移表中已经记录了该迁移类的执行记录,不会重复执行。你可以先删除迁移表中对应该类的记录,或者将迁移类归属到更高版本的迁移集,再执行以下命令:php bin/console oro:migration:load --force php bin/console cache:clear - 额外校验
如果是自定义模板,确认后台「系统配置」→「客户用户」→「确认邮件」选项中,选择的是你自定义的模板,而不是原生默认模板。
内容的提问来源于stack exchange,提问作者Abdallah Kharchafi
相关产品推荐
相关产品推荐

