Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
3 Trả lời
3152 Lượt xem

Hi,

I try to use if else statements on a mailing. But istead of applying the line statement on the final mail its always displaying the line statements.


Source code of mailing

<div class="o_layout o_basic_theme" style="padding: 0px; margin: 0px; color: black; font-size: 14px; background-color: white; min-height: 100%; width: 94%; box-sizing: content-box; overflow: hidden;">
  <div class="oe_structure">
    <div class="o_mail_no_options">
      % if object.titulation.titulation == "firstname":
      <p style="margin: 0px; color: black; font-size: 13px;">
        Hallo ${object.firstname or object.name or ' '},
      </p>
      % else:
      <p style="margin: 0px; color: black; font-size: 13px;">
        Hallo ${object.firstname or object.name or ' '},
      </p>
      % endif
      <p style="margin: 0px; color: black; font-size: 13px;">
        <br>
      </p>
      <p style="margin: 0px; color: black; font-size: 13px;">
        <br>
      </p>
      <p style="margin: 0px; color: black; font-size: 13px;">
        <br>
        <a href="/unsubscribe_from_list" class="o_default_snippet_text">Abmelden</a>
      </p>
    </div>
  </div>
</div>
result looks like this:
% if object.titulation.titulation == "firstname":

Hallo Christian,

% else:

Hallo Christian,

% endif


I am using the same code on a regular email template and everything works fine there.


Ảnh đại diện
Huỷ bỏ

Well, you can try below code and it may resolve your error and you can get what you are looking for.

<div class="o_layout o_basic_theme" style="padding: 0px; margin: 0px; color: black; font-size: 14px; background-color: white; min-height: 100%; width: 94%; box-sizing: content-box; overflow: hidden;">
<div class="oe_structure">
<div class="o_mail_no_options">
{% if object.titulation.titulation == "firstname" %}
<p style="margin: 0px; color: black; font-size: 13px;">
Hello {{ object.firstname or object.name or ' ' }},
</p>
{% else %}
<p style="margin: 0px; color: black; font-size: 13px;">
Hello {{ object.firstname or object.name or ' ' }},
</p>
{% endif %}
<p style="margin: 0px; color: black; font-size: 13px;">
<br>
</p>
<p style="margin: 0px; color: black; font-size: 13px;">
<br>
</p>
<p style="margin: 0px; color: black; font-size: 13px ;">
<br>
<a href="/unsubscribe_from_list" class="o_default_snippet_text">Unsubscribe</a>
</p>
</div>
</div>
</div>

Thanks

Câu trả lời hay nhất

Thanks for the reply from the Mabbly team. We have been looking for a solution to this problem for a long time

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

Please make sure that %... begins on the first column of the code line.

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

Hi

I have exactly the same question. Were you able to solve this issue ?

Thanks.

Ảnh đại diện
Huỷ bỏ

Hi
I finally found the solution.
I'm using this syntax and it works quite nicely:

${('<h1>Bienvenue</h1>' if object.lang=='fr_FR')}
${('<h1>Welkom</h1>' if object.lang=='nl_BE')}
${('<h1>Welcome</h1>' if object.lang=='en_US')}

@Ermin Trevisan : Starting the line with % in the code does not work because Odoo reformats the code when you switch to the wysiwyg view (indentation). And it even encapsulates the %if statement in a <p> element.

Bài viết liên quan Trả lời Lượt xem Hoạt động
0
thg 7 25
954
0
thg 5 22
2191
0
thg 5 21
1667
2
thg 7 16
5149
0
thg 3 15
3181