跳至内容
菜单
此问题已终结
2 回复
3734 查看

Hi,

I need to override the function of product view in Odoo website shop for add some additional information to the product page.How can i override the corresponding function.Expecting quick response.

Thanks

形象
丢弃
最佳答案

Hi,

To add more information to corresponding page(products) you have to override the corresponding controller method and pass the necessary information to the template.

For overriding an existing controller see this video: How To Inherit Existing Controller in Odoo

See this example in website_sale_delivery module in which a controller defined in website_sale module is inherited and passing new values ,


from odoo.addons.website_sale.controllers.main import WebsiteSale


class WebsiteSaleDelivery(WebsiteSale):

@http.route(['/shop/payment'], type='http', auth="public", website=True)
def payment(self, **post):
order = request.website.sale_get_order()
carrier_id = post.get('carrier_id')
if carrier_id:
carrier_id = int(carrier_id)
if order:
order._check_carrier_quotation(force_carrier_id=carrier_id)
if carrier_id:
return request.redirect("/shop/payment")

return super(WebsiteSaleDelivery, self).payment(**post)

File: https://github.com/odoo/odoo/blob/13.0/addons/website_sale_delivery/controllers/main.py

Thanks

形象
丢弃
最佳答案

Hi,

Try the code below.

from odoo.addons.website_sale.controllers.main import WebsiteSale 

class YourClassName(WebsiteSale):
@http.route()
def product(self, product, category='', search='', **kwargs): res = super(YourClassName, self).product(product, category, search)
# Type Your required codes here
return res

For knowing more about the controllers and website customisation visit the following blogs

Odoo website customization

Controllers in odoo

Thanks and regards

形象
丢弃
相关帖文 回复 查看 活动
1
11月 22
7328
0
8月 20
4528
4
8月 20
9271
3
11月 23
17331
3
11月 24
24955