模板中的标签统一都是以"t-"开始的。在此记录一下,方便学习,使用
t-name 用于指明模板的名称
t-extend 用于指明该模板是继承自另外哪一个模板,后面会带父模板的名称,如:t-extend=“Login"
t-jquery 一个jQuery的选择器,后面指明选择器的定义,如:t-jquery=".oe_logiin"
t-operation 一般跟在t-jquery后面,指明选择器找到元素后执行的动作,其值有:append(追加)、replace(替换)
t-if 用于指明元素在页面产生的条件,后面是带一个javascript的表达式,返回True或False
t-att-### 用于指明一个元素的属性值,###是元素的属性名称,如:t-att-value="javascript表达式"
t-foreach 用于指明一个循环调用,后面一般带的是一个数组
t-as 用于取得循环中的单个值,与t-foreach搭配使用,后面带的是一个变量名,可以循环中使用变量取值
t-esc 用于一个文字输出
t-call 用于调用另外模板,后面带一个模板的名称
t-set 用于设定一个变量,后面带变量的名称,一般跟 t-value 搭配使用
t-value 用于指定某个变量或元素的值
#在xml里面直接调用python函数,将值返回给 attributes
<t t-set="attributes" t-value="my_order._get_my_order_message(my_order)"/>
#对应模型的py文件里
def _get_my_order_message(self, my_order):
pass
#在xml里面直接用 search 函数,将值返回给user, user是一个 res.users 对象,想越过权限问题可加上 sudo()
<t t-set="user" t-value="request.env[''].sudo()
.search([('partner_id', '=', attribute.author_id.id)], limit=1)"/>
#在xml里面调用图片,直接传给一个模型的 id(user.id),注意是对应的模型
<img t-attf-src="/website/image/res.users/{{user.id}}/image/45x45"/>
#在xml里面是 Html 类型的字段,如果用 t-esc 格式不正确,总会有 <p></p> 标签,这时候就用 t-raw 可以去掉p标签
<t ="attribute.body"/>