2016-05-16 141 views
0

专家您好, 我新手,电子商务款Hybris,目前我正在生成B2C.I是跟着以下链接的hybris电子邮件模板:与电子商务款Hybris:电子邮件模板生成

http://flexblog.faratasystems.com/index.php/ecommerce-with-hybris-sending-emails/ 

电子邮件语境对象:

public class OneMillionPurchaseEmailContext extends AbstractEmailContext 
{ 
    // ... 

    @Override 
    public void init(final BusinessProcessModel businessProcessModel, final EmailPageModel emailPageModel) 
    { 
     // ... 
     put(FROM_EMAIL, emailPageModel.getFromEmail()); 
     put(FROM_DISPLAY_NAME, emailPageModel.getFromName()); 
     put(DISPLAY_NAME, "BDI Customer Service"); 
     put(EMAIL, getCustomerEmailResolutionService().getEmailForCustomer(getCustomer())); 
     // ... 
    } 

    @Override 
    protected BaseSiteModel getSite(final BusinessProcessModel businessProcessModel) 
    { 
     return ((StoreFrontProcessModel) businessProcessModel).getSite(); 
    } 

    @Override 
    protected CustomerModel getCustomer(final BusinessProcessModel businessProcessModel) 
    { 
     return ((StoreFrontCustomerProcessModel) businessProcessModel).getCustomer(); 
    } 
} 

在上面的代码,任何人都可以指导我的地方,我们必须把这个邮件上下文对象类,如果任何人都可以指导或提供电子邮件模板生成的配置过程中的任何链接或文档中我们将不胜感激?

+0

试试这个:https://www.stackextend.com/hybris/sending-emails-in-hybris/ –

回答

1

这被称为platform/acceleratorservices/process/email/context/impl/DefaultEmailContextFactory.java 然后这用于platform/acceleratorservices/email/impl/DefaultEmailGenerationService.java 这是在一个标准的hybris扩展。为了让Factory解决你的上下文,你必须在你的-spring.xml配置中有一个bean,用于OneMillionPurchaseEmailContext

欲了解更多信息,我建议hybris wiki

+0

嗨Hristo ..我也使用上面提到的@ User2413的链接,但在mail-process.xml文件,我的代码无法执行第一个节点:generateOneMillionPurchaseEmail。当我在商业流程中进入HMC时,它会说出错的东西。我有双重检查我的smtp设置,一切都很好。你能提出一些建议吗? – AppleBud

+0

您是否在后端控制台日志中看到任何错误或异常? –

+0

是的。我在de.hybris.platform.media.storage.impl.LocalFileMediaStorageStrategy.getAsStream找到此错误:de.hybris.platform.media.exceptions.MediaNotFoundException:找不到介质(请求的介质位置:h8a/h70/8806300811294.bin)( LocalFileMediaStorageStrategy),但我没有得到它想要的。我也运行了电子邮件模板的所有障碍。 – AppleBud

0

你不调用此语境。它被用作您的电子邮件生成的一部分。该页面似乎没有提到RendererTemplate。查看示例“email-content.impex”之一末尾的行。