コンテンツへスキップ
メニュー
この質問にフラグが付けられました
627 ビュー

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!!

アバター
破棄