odoo t-raw / аргумент внутри условия t-if

Я пытаюсь внутри Odoo V12, что, если у пользователя есть подпись, она должна быть распечатана. В противном случае следует использовать только статический текст. Я пробовал это:

<div>
    <p t-if="record.user_id and record.user_id.signature">
        t-raw="record.user_id.signature"</p>
    <p t-else="">just the company name</p>
/div>

Но это просто закончится тем, что "t-raw =" record.user_id.signature "будет отображаться в виде текста.

Какие-нибудь советы? Спасибо.


person L.Writer    schedule 07.01.2020    source источник


Ответы (1)


Подпись - это сам HTML-код, поэтому ее не должно быть в теге p. Просто попробуйте использовать тег t и присвойте p своему else:

<div>
    <t t-if="record.user_id.signature" t-raw="record.user_id.signature" />
    <t t-else=""><p>just the company name</p></t>
</div>

Вероятно, вам придется расширить условие if, потому что очистка подписи или любого поля HTML в Odoo впоследствии заполнит поле <p><br></p>.

person CZoellner    schedule 07.01.2020
comment
Спасибо. Теперь работает при наличии подписи. Если подпись не задана, она будет просто пустой, это то, что вы упомянули о расширении условия if? - person L.Writer; 07.01.2020
comment
@ L.Writer да, потому что Odoo заполняет указанный HTML-код в ответе в пустом поле HTML. - person CZoellner; 07.01.2020