2016-02-09 110 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