我正在使用odoo 10e我想要做的是当用户点击按钮时我想将他重定向到html页面并向他显示ThankYou msg。就像我们在谷歌提交调查时看到的那样。它向我们展示了最后的页面,我们甚至无法再回头再次提交。
根据我的知识,如果我想将用户重定向到网址,我们可以使用以下内容。
return {
'type': 'ir.actions.act_url',
'url': 'www.google.com',
'target': 'self'
}
但我想显示我自己的页面,如果我在我的客户模块中有index.html文件那么假。
答案 0 :(得分:0)
要重定向到另一个页面,您有两种方法:
如果从模型中执行此操作,则必须在视图中添加按钮对象类型以执行模型的方法,然后在模型中使用以下方法将其重定向:
<button name="my_page" string="My text" type="object"/>
现在在模型中:
class MyModel(models.Model):
_inherit = "my_module.my_model"
@api.multi
def my_page(self):
return {
"url": "/my_module/my_page/",
"type": "ir.actions.act_url"
}
另一个来自控制器:
from werkzeug.utils import redirect
from openerp import http
class main(http.Controller):
@http.route('/my_module/my_page/', auth='public')
def index(self, **kw):
response = redirect("www.google.com")
return response
在此示例中,按钮调用模型的方法“ my_page ”,并调用控制器的URL“ / my_module / my_page / ”,但是您可以直接从模型重定向到所需的网址,也可以在控制器中。例如,如果您需要不通过控制器直接从模型转到URL,则可以使用:
return {
'url': 'http://google.com',
'type': 'ir.actions.act_url'
}