Hello, trying to add a custom field in the product page on Odoo 14 e-commerce and I'm not able to retrieved posted form field from the router:
Product XML (website_sale.product):
input type="text" class = "form-control or_website_form_input" name = "x"/
Http router:
@http.route(['/shop/cart/update'], type='http', auth="public", methods=['POST'], website=True)
def cart_update(self, product_id, add_qty=1, set_qty=0, **kw):
"""This route is called when adding a product to cart (no options)."""
print ("KW= ",kw) # simply printing the posted items
... rest of the code
Console output:
KW= {'quantity': '1', 'product_custom_attribute_values': '[{"custom_product_template_attribute_value_id":6,"attribute_value_name":"Date","custom_value":""}]', 'variant_values': '3', 'no_variant_attribute_values': '[]'}
I suspect that the problem is with the definition of the input class?
Thanks
Please post your XML code as well.
Its a simple with the
tag like this:input type="text" class = "form-control or_website_form_input" name = "x"/
Did you add your input field inside the form or somewhere else?
Please post your inherited XML code so that we can check the root cause.
the website_sale.product view includes the following form to add to cart:
<form t-if="product._is_add_to_cart_possible()" action="/shop/cart/update" method="POST">
...
### so I added just an additional input field to the existing form:###
input type="text" class = "form-control or_website_form_input" name = "x"/
<a role="button" id="add_to_cart" class="btn btn-primary btn-lg mt16 js_check_product a-submit d-block d-sm-inline-block" href="#"><i class="fa fa-shopping-cart"/> Add to Cart</a>
</form>
ok so you have directly made the change in the standard module. Did you upgrade the website_sale module after the change?
Yes, I've made the change into the standard module first to make sure its works then I will write a custom module.
It seems that there is a JS somewhere that is striping any additional <input>s before its calling the controller
and yes I did upgrade the website_sale after the changes