如何以特定的product.id形式给出动作调用?

时间:2017-04-26 06:24:30

标签: xml openerp odoo-9

我有问题。在我的template.xml中,我有一个带有操作的表单标记:

viewController

如何将动作调用给予特定的product.id.我的意思是当它是product.id“1”它应该调用/ my / test / 1,当它是product.id“2”= / my / test / 2

我该如何处理这个问题?

谢谢

1 个答案:

答案 0 :(得分:2)

理解你的所作所为非常重要。

在odoo中,如果您想为标记创建动态属性。你有两种可能性:

叔att- $名称

$ name是您的属性的名称。

示例

<t t-set="class" t-value="['class1','class2]"/>
<span t-att-class="class[0]"/>

html代码返回

<span class="class1"/>

用于评估代码的t-att- $名称。

叔attf- $名称

与上一个相同,但参数是格式字符串而不仅仅是表达式,通常用于混合文字和非文字字符串:

例如

<t t-set="class" t-value="['class1','class2]"/>
<span t-attf-class="mainclass #{class[0]}"/>
<span t-attf-class="mainclass #{class[1]}"/>

html代码返回

<span class="mainclass class1"/>
<span class="mainclass class2"/>

在您的情况下,您需要将字面值与变量连接。

您必须使用t-attf- $ name

<form t-attf-action="/my/test/#{product.id}" method="post">

现在在python代码中,您需要创建一个动态路由。

在你的情况下,你的路线必须是这样的。

@http.route(['/my/test/<int:product_id>/'], type='http', auth="user", website=True)
def my_test_product(self, product_id, **kwargs):
    #your code
    return request.website.render("your_model.template_id")