This question has been flagged
3 Replies
886 Views

Hello guys, in Odoo Qweb i saw t-if condition use in different ways, exp:
- t-if="record.use_leads.raw_value"

- t-if="widget.editable"

- t-if="team.portal_show_rating"
- t-if="employee.department_id"
....
I just do not understand where the "record", "widget", "team", " employee" come from, especially is "widget" because i see it so many times and it makes me so confused. Thanks!



Avatar
Discard
Best Answer

Hi,

These are the variable/data passed from the corresponding controllers that render this page.

Thanks

Avatar
Discard
Best Answer

Hi,

Qweb has different conditional directives. ‘t-if’ is one of them. If the given condition is true, then the element is rendered. If the condition is false, the element is not rendered.

Eg:

<t t-set="inv_ids" t-value="doc.origin"/> <t t-set="sale_order" t-value="request.env['sale.order'].search([('invoice_ids','=',inv_ids)])"/> <t t-foreach="sale_order" t-as="line">   <t t-if="http://line.name/" rel="noopener nofollow noreferrer" target="_blank">line.name"> <strong t-esc="http://line.name/" rel="noopener nofollow noreferrer" target="_blank">line.name"/> </t> </t>


QWeb has an iteration directive ‘t-foreach’ which takes an expression returning the collection to iterate on, and a second parameter ‘t-as’ provides the name to use for the "current item" of the iteration.
Here we are iterating ‘sale_order’ with parameter ‘line’.

Regards

Avatar
Discard
Author Best Answer

thanks you 2 of you very much, just don't enough karma to upvote for you @@

Avatar
Discard