Javascript 从manyOne(widget.PoS?)

Javascript 从manyOne(widget.PoS?),javascript,widget,openerp,odoo-8,point-of-sale,Javascript,Widget,Openerp,Odoo 8,Point Of Sale,我想在pos.xml文件中添加一个下拉列表(我知道如何从中继承),有人能帮我吗 我在代码中看到,对于他们使用的每个下拉列表,widget.pos.name,但我似乎在任何地方都找不到它。这里是一个国家的例子(这里我想用我的变量替换它) 没有一个 我不知道t-foreach='widget.pos.countries'来自何处,也不知道如何为我自己的名为“domain”的变量管理它,它是“domainnames”类的一部分。从res.partner的一个多人那里打电话给你的Que:我在代码中看

我想在pos.xml文件中添加一个下拉列表(我知道如何从中继承),有人能帮我吗

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


没有一个

我不知道t-foreach='widget.pos.countries'来自何处,也不知道如何为我自己的名为“domain”的变量管理它,它是“domainnames”类的一部分。从res.partner的一个多人那里打电话给你的Que:我在代码中看到他们在每个下拉列表中都使用widget.pos.name,但我似乎在任何地方都找不到它

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

问:我不知道t-foreach='widget.pos.countries'是从哪里来的,以及如何为我自己的变量管理它

答:对于国家/地区小部件,它来自服务器加载的models.js行编号:178model:'res.Country'。 在第180行:您可以看到,在加载的函数中,它们定义了国家(加载:函数(self,国家)//您可以在这里给出任何命名约定。 因此,您可以直接在(多个字段)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文件中获取数据。 希望这对你有帮助。。!!!
谢谢

请提供一些示例代码来演示您的问题。参考这个问题,我认为它将帮助您。工作愉快!非常感谢你。现在唯一的问题是当我从下拉列表中选择某个内容并保存新客户时(我看到这在数据库中被更新)。但是,当我现在想要编辑客户时,下拉列表显示“无”作为默认值,您如何更改它
       <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>