【问题标题】:How to change default page of odoo with other webcontroller odoo 9.0如何使用其他 webcontroller odoo 9.0 更改 odoo 的默认页面
【发布时间】:2016-12-17 05:48:34
【问题描述】:

我创建了一个具有特定功能的新网络控制器,我希望这个网络控制器作为odoo 9.0 的主页。

我尝试将@http.route('/', type='http', auth='public', website=True) 放入我的自定义webcontroller 文件的main.py 作为路由,但它仍然重定向到odoo 的默认主页。

但如果我将 url 设置为@http.route('/index', type='http', auth='public', website=True),则页面运行正常。

所以我的问题是用自定义控制器或模块替换现有 odoo 主页的最佳方法是什么。

【问题讨论】:

    标签: webpage odoo-9


    【解决方案1】:
    # -*- coding: utf-8 -*-
    from openerp import http
    from openerp.addons.website.controllers.main import Website
    
    class Website(Website):
        @http.route(auth='public')
        def index(self, data={},**kw):
            super(Website, self).index(**kw)
            return http.request.render('<your_addon>.<your_template_id>', data)
    

    【讨论】:

    • 菲利普,你太棒了。这个对我有用。主页现在已替换为我的内容。我也注意到了这一点,该网站是多语言的,当我更改语言时,它会再次重定向到以前的主页,并且 url 类似于“fr_FR/page/homepage”。我们还需要为多语言 url 做些什么吗?请提出建议。
    • 对不起@Prawez 我自己没有使用多语言功能。我想它会非常相似。对于通向替代语言的路径,您有什么想法?
    • 我尝试过同样的方法来覆盖 @http.route('/page/', type='http', auth="public", website= True) 从网站模块到我的自定义模块的方法,但每次都会给我 500 个内部错误。有没有其他方法可以覆盖这个方法?
    • 您可能想打开另一个问题。发布您的代码,描述您希望完成的任务,并在尝试实现代码时显示您在日志中发现的错误。
    • 这对 v 10 有什么不同吗?当然,必须将诸如 from openerp 之类的小东西更改为 from odoo 等 .. 但除此之外,我没有收到任何错误,但从未调用过自定义控制器。
    猜你喜欢
    • 2022-06-22
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-12
    • 1970-01-01
    相关资源
    最近更新 更多