Zum Inhalt springen
Menü
Diese Frage wurde gekennzeichnet
3 Antworten
3234 Ansichten

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.


Avatar
Verwerfen

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

Beste Antwort

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

Avatar
Verwerfen
Beste Antwort

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

Avatar
Verwerfen
Beste Antwort

Hi

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

Thanks.

Avatar
Verwerfen

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.

Verknüpfte Beiträge Antworten Ansichten Aktivität
0
Juli 25
1035
0
Mai 22
2263
0
Mai 21
1747
2
Juli 16
5222
0
März 15
3258