コンテンツへスキップ
メニュー
この質問にフラグが付けられました
2 返信
5319 ビュー

Hello,

I'm trying to send an email with a certain template which begin like this (I added the partner in the context to be able to access it in the template)

Hello ${ctx['partner'].title.name or ''} ${ctx['partner'].firstname or ''} ${ctx['partner'].lastname or ''},

and the language field is set up with 

${ctx['partner'].lang or ''}

My problem is that if the contact language is not in english, the email is correctly translated but the the title still appear in English. I checked and the translation is correctly set up for the title name. Is there a way to access the translation of the term through the template?

アバター
破棄
最善の回答

It seems that you consruct 'ctx' under a user with different language rather than your partner language (e.g under the superuser).

Try something like:

ctx['partner'].with_context(lang=ctx['partner'].lang).title.name

By the way, why do you pass partner in context? Is there no way to retrieve it from a related object?


アバター
破棄
著作者 最善の回答

Thank you! This indeed solve the problem. Concerning the partner, the related object only contains a list of partners and I couldn't find a way to determine which one I was sending the mail to. The template and the code that send the email were written by someone else and I didn't want to change how it was called from fear of breaking something else.

アバター
破棄
関連投稿 返信 ビュー 活動
2
5月 24
4339
8
11月 20
33652
0
11月 20
2917
0
2月 19
3399
0
2月 18
4124