如何从控制器向sylius购物车项目添加产品

时间:2016-03-23 15:27:17

标签: php symfony sylius

经过无用的研究后,我仍然试图使用sylius购物车。 我发现从树枝模板中将项目添加到购物车的一种方法是

<form action="{{ path('sylius_cart_item_add', {'id': product.id}) }}" method="post" class="clearfix">
            {% set form = sylius_cart_form({'product': product}) %}
            {{ form_widget(form.quantity, {'attr': {'class': 'center-text'}, 'empty_value': '1'}) }}
            {{ form_widget(form._token) }}
            <button type="submit" class="btn btn-success"><i class="icon-shopping-cart icon-white"></i> {{ 'sylius.add_to_cart'|trans }}</button>
        </form>

当我尝试使用它时,我收到错误

  

在呈现模板期间抛出异常(“选项”产品“不存在。定义的选项为:”action“,”allow_extra_fields“,”attr“,”auto_initialize“,”block_name“,” by_reference“,”cascade_validation“,”compound“,”constraints“,”csrf_field_name“,”csrf_message“,”csrf_protection“,”csrf_provider“,”csrf_token_id“,”csrf_token_manager“,”data“,”data_class“,”disabled“ ,“empty_data”,“error_bubbling”,“error_mapping”,“extra_fields_message”,“inherit_data”,“intent”,“invalid_message”,“invalid_message_parameters”,“label”,“label_attr”,“label_format”,“mapped”,“ max_length“,”method“,”pattern“,”post_max_size_message“,”property_path“,”read_only“,”required“,”translation_domain“,”trim“,”validation_groups“,”virtual“。”)

如果我替换

sylius_cart_form({'product': product})

sylius_cart_form({'data_class': sylius_cart_item})

当我提交数量时,错误消失了。

1 个答案:

答案 0 :(得分:1)

嫩枝:

 <form action="{{ path('sylius_cart_item_add', {'id': product.id}) }}" method="post">
    {{ form(form) }}
    <input type="submit" value="Submit">
 </form>

表格应由控制人发送。