如何从Odoo的网站<textarea>获取价值?

时间:2017-06-01 18:35:51

标签: python openerp odoo-9 openerp-8 odoo-website

&lt; p&gt;我已使用以下代码在网站付款(&lt; em&gt; / shop / payment&lt; / em&gt;)屏幕中成功添加了textarea。&lt; / p&gt; &lt; pre&gt;&lt; code&gt;&lt; template id =“payment_notes”name =“PO”inherit_id =“website_sale.payment”&gt;     &lt; xpath expr =“// div [@ id ='payment_method']”position =“在”&gt;之后         &lt; div class =“mt32”method =“post”&gt;             &lt; textarea type =“textarea”rows =“5”name =“po_notes”style =“height:100px; width:800px”placeholder =“条款和条件......”/&gt;         &LT; / DIV&GT;     &LT; /&的xpath GT; &LT; /模板&GT; &LT; /代码&GT;&LT; /预&GT; &lt; p&gt;&lt; a href =“https://i.stack.imgur.com/2B5JF.png"rel =”nofollow noreferrer“&gt;&lt; img src =”https://i.stack.imgur。 com / 2B5JF.png“alt =”在此处输入图像说明“&gt;&lt; / a&gt;&lt; / p&gt; &lt; p&gt;&lt; strong&gt;到目前为止我尝试了什么?&lt; / strong&gt;&lt; / p&gt; &lt; pre&gt;&lt; code&gt; @ http.route('/ shop / payment / validate',type ='http',auth =“public”,website = True) def payment_validate(self,transaction_id = None,sale_order_id = None,** post):     打印“\ n ======= res = paymentvalidate ====”,request.session.get('po_notes'),post.get('po_notes')     ######     ###### &LT; /代码&GT;&LT; /预&GT; &lt; p&gt;它给我无,无&lt; / p&gt; &lt; p&gt;&lt; strong&gt;我的问题是:&lt; / strong&gt;&lt; / p&gt; &lt; p&gt;如何获得下一级别的值&lt; em&gt; / shop / payment / validate&lt; / em&gt; ?&LT; / p为H.

2 个答案:

答案 0 :(得分:1)

如果你想在提交该表单时想要控制器内的任何html控件的数据,那么你必须为每个控件提供一个类“form-control”。所以,只需在textarea控件中添加class='form-control'即可。

还看到你的控件不在html表单中。你必须将你的控件放在将要提交的表单中,控制器将调用它。所以,你必须将你的控件放在你想要的形式中。以下只是我们的一个想法。

<template id="payment_notes" name="PO" inherit_id="website_sale.payment">
    <xpath expr="//div[@id='payment_method']/div[@class='col-sm-12']/form" position="inside">
        <div class="mt32">
            <textarea type="textarea" rows="5" name="po_notes" style="height:100px;width:800px" class="form-control" placeholder="Terms and conditions..."/>
        </div>
    </xpath>
</template>

希望它对你有所帮助。

答案 1 :(得分:0)

.......模板..........

<template id="shopping_note" inherit_id="website_sale.checkout" name="Shopping Note">
   <xpath expr="//a[@href='/shop/cart']" position="before">
     <div class="mt16 mb16">
         <label>My Notes</label>
         <input name="note" class='form-control' type="text" placeholder="Note about your order..." t-att-value="checkout.get('note')"/>
     </div>
   </xpath>
</template>

... PY ......

def checkout_form_save(self, checkout):
    order = request.website.sale_get_order(force_create=1, context=request.context)
    if checkout.get('note'):
        order.write({'note': checkout.get('note')})
    return super(WebsiteSale, self).checkout_form_save(checkout=checkout)

def checkout_values(self, data=None):
    res = super(WebsiteSale, self).checkout_values(data=data)
    checkout = res.get('checkout',{})
    order = request.website.sale_get_order(force_create=1, context=request.context)
    if not data:
        checkout.update({'note': order and order.note or None})
    else:
        checkout.update({'note': data and data.get('note') or None})
    return res