Hello
I want to display product supplier names at product detail page of website
I created an installable application:
models:
from odoo import models, fields, api
class ProductTemplate(models.Model): _inherit = 'product.template'
supplier_ids = fields.One2many('product.supplierinfo', 'product_tmpl_id', string='Suppliers')
class ProductSupplierInfo(models.Model): _name = 'product.supplierinfo'
product_tmpl_id = fields.Many2one('product.template', string='Product Template') partner_id = fields.Many2one('res.partner', string='Supplier')
class WebsiteSale(models.Model): _inherit = 'website.sale'
@api.model def get_product_supplier_info(self, product_id): product = self.env['product.template'].browse(product_id) supplier_infos = product.supplier_ids supplier_names = [supplier.partner_id.name for supplier in supplier_infos] return supplier_names
Views:
Suppliers:
controllers :
# controllers.py
from odoo import httpfrom odoo.http import request
class WebsiteSale(http.Controller): @http.route(['/shop/product/'], type='http', website=True, auth="public", sitemap=False) def product(self, product, category='', search='', **kwargs): suppliers = request.env['website.sale'].get_product_supplier_info(product.id) return request.render("custom_product_supplier.website_sale_product_supplier_info", {'product': product,'suppliers': suppliers})
but nothing to display!!