2016-02-09 64 views
0

我想添加从我创建的Many2one到pos.xml文件的下拉列表(我知道如何从此继承),有人可以帮助我吗?从Many2one(widget.pos?)Odoo PoS下拉列表

我在代码中看到他们使用的每个下拉列表都使用了widget.pos。 名称,但我似乎无法在任何地方找到它。这里是一个国家的例子(这里我想用我的变量替换它)。

   <select class='detail client-address-country' name='country_id'> 
        <option value=''>None</option> 
        <t t-foreach='widget.pos.countries' t-as='country'> 
         <option t-att-value='country.id' t-att-selected="partner_country_id ? ((country.id === partner.country_id[0]) ? true : undefined) : undefined"> 
          <t t-esc='country.name'/> 
         </option> 
        </t> 
       </select> 

我不知道在哪里的T-的foreach =“widget.pos.countries”来自我如何管理这个我称为“域”自己的变量,它是一类的一部分“域名的问题” 。并从一个Many2one调用res.partner

+1

请提供一些演示您的问题的示例代码。 –

+0

提到这个问题https://stackoverflow.com/questions/35890929/odoo-pos-create-a-dropdown-list我认为它会帮助你。 –

回答

0

您的阙:我在代码中看到,他们使用widget.pos.name每个下拉菜单,但我似乎无法找到任何地方。

答:widget.pos.name来自在POSmodels.js行号:130,这里服务器端模型被加载。这是需要从服务器加载的模型列表。在您的自定义模块中,您还可以根据您的要求加载其他模型。

阙:我不知道t-foreach ='widget.pos.countries'的来源以及我如何管理这个我自己的变量?

答:为了国家小部件,它来自models.js行号:178模式: 'res.country'从服务器加载。 在线180:你可以看到,在载荷的作用,他们定义国家(加载:功能(个体经营,国家))//你可以在这里给任何命名约定。 所以你可以直接在你的(Many2One Field)xml文件中通过函数参数

例子: 写在你的JS文件自定义模块的

module.PosModel.prototype.models.push({ //loaded model 
    model: 'res.partner', 
     fields: ['partner_id','name'], 
     loaded: function(self,partners){ //pass parameters 
     self.partners = partners; 

    }, 
}); 

在XML文件:

 <div class='client-detail'> 
     <span class='label'>Partner</span> 
      <select class='detail client-partner' name='partner_id'> 
       <option value=''>None</option> 
        <t t-foreach='widget.pos.partners' t-as='partner'> 
         <option t-att-value='partner.id' t-att-selected="partner_partner_id ? ((partner.id === partner.partner_id) ? true : undefined) : undefined"> 

         <t t-esc='partner.name'/> 
        </option> 
        </t> 
       </select> 
    </div> 

所以,就这样:在你的js,你可以在这里加载任何模型并在XML文件中获取数据。 希望这会帮助你.. !!! 谢谢...... !!!

+0

工作得很好!非常感谢你。现在唯一的事情是,我从下拉列表中选择一些内容并保存新客户(我发现这在数据库中已更新)。但是当我现在想要编辑客户时,下拉菜单默认显示为“无”,那么你如何改变这一点 – Jesse