Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony 3在结帐时正确显示价格和名称的问题_Php_Symfony_Twig - Fatal编程技术网

Php Symfony 3在结帐时正确显示价格和名称的问题

Php Symfony 3在结帐时正确显示价格和名称的问题,php,symfony,twig,Php,Symfony,Twig,我的购物车有问题。我是一个编码新手,我不能把这些东西做好。 所以我的问题是: 我制作了一个“网上商店”,上面有:产品清单/购物车/结帐 共有两种产品: 当我将它们添加到我的卡中时,我得到以下信息: 然后在结帐时出错: 您可以看到,它添加了ID为3的产品的名称和价格,而没有正确添加这两个项目 这是我的密码: CartController(带签出功能) 看起来您正在从数据库中提取每个已签出的产品,但在$product变量上覆盖它,而不是保存所有产品 您应该使用数组来存储不同的产品,然后使用这些产品来

我的购物车有问题。我是一个编码新手,我不能把这些东西做好。 所以我的问题是:

我制作了一个“网上商店”,上面有:产品清单/购物车/结帐

共有两种产品: 当我将它们添加到我的卡中时,我得到以下信息: 然后在结帐时出错: 您可以看到,它添加了ID为3的产品的名称和价格,而没有正确添加这两个项目

这是我的密码:

CartController(带签出功能)
看起来您正在从数据库中提取每个已签出的产品,但在
$product
变量上覆盖它,而不是保存所有产品

您应该使用数组来存储不同的产品,然后使用这些产品来填充细枝模板中的值

因此,在结帐操作中,您会遇到如下情况:

$em=$this->getDoctrine()->getEntityManager();
$repo=$em->getRepository('TuinadviesBundle:Product');
$products=[];
foreach($id=>$quantity的购物车){
$products[]=$repo->find($id);
}
然后,在呈现模板时,只需传递
$products
数组,而不是名称和价格

return$this->render('@Tuinadvies/checkout/index.html.twig',数组(
“产品”=>$products,
));
最后,在您的细枝模板中,您将迭代
产品
数组,而不是迭代购物车,并使用它的id来获得正确的数量

{% for product in products %}
    <tr class="col-span-6">
        <td><b>{{ product.name }}</b></td>
        <td>{{ product.id }}</td>
        <td>{{ cart[product.id] }}</td>
        <td>{{ product.price }}</td>
    </tr>
{% endfor %}
{%用于产品中的产品%}
{{product.name}
{{product.id}
{{cart[product.id]}
{{product.price}}
{%endfor%}

希望这有帮助

看起来您正在从数据库中提取每个已签出的产品,但在
$product
变量上覆盖它,而不是保存所有产品

您应该使用数组来存储不同的产品,然后使用这些产品来填充细枝模板中的值

因此,在结帐操作中,您会遇到如下情况:

$em=$this->getDoctrine()->getEntityManager();
$repo=$em->getRepository('TuinadviesBundle:Product');
$products=[];
foreach($id=>$quantity的购物车){
$products[]=$repo->find($id);
}
然后,在呈现模板时,只需传递
$products
数组,而不是名称和价格

return$this->render('@Tuinadvies/checkout/index.html.twig',数组(
“产品”=>$products,
));
最后,在您的细枝模板中,您将迭代
产品
数组,而不是迭代购物车,并使用它的id来获得正确的数量

{% for product in products %}
    <tr class="col-span-6">
        <td><b>{{ product.name }}</b></td>
        <td>{{ product.id }}</td>
        <td>{{ cart[product.id] }}</td>
        <td>{{ product.price }}</td>
    </tr>
{% endfor %}
{%用于产品中的产品%}
{{product.name}
{{product.id}
{{cart[product.id]}
{{product.price}}
{%endfor%}

希望这有帮助

非常感谢Stephan我现在就去试试!我试过了,但现在我得到了一个空白结帐,里面没有任何产品。也许这与我的购物车按钮有关?我将把购物车/index.html.twig上传到我的问题中。保留在原始的twig模板中,我看到一个
{%if product is defined%}
环绕在表格周围,请将其更改为
{%if products not empty%}
因为我们已经删除了
产品
它从来没有定义过它的工作原理!!!谢谢!!我现在可以吻你了,哈哈。我一整天都在为这个争吵。再次感谢!非常感谢Stephan我现在就去试试!我试过了,但现在我得到了一个空白结帐,里面没有任何产品。也许这与我的购物车按钮有关?我将把购物车/index.html.twig上传到我的问题中。保留在原始的twig模板中,我看到一个
{%if product is defined%}
环绕在表格周围,请将其更改为
{%if products not empty%}
因为我们已经删除了
产品
它从来没有定义过它的工作原理!!!谢谢!!我现在可以吻你了,哈哈。我一整天都在为这个争吵。再次感谢!
{% extends '@Tuinadvies/base.html.twig' %}

{% block body %}
    <h1>Winkelwagentje</h1>
    <ul class="thumbnails">

        {% if empty is defined %}
            <h5>Your shopping cart is empty.</h5>
        {% endif %}
        {% set cart = app.session.get('cart') %}


        {% if product is defined %}


            <ul class="thumbnails">
                {% if app.session.flashbag.has('notice') %}

                    <div class="flash-notice">

                        {{app.session.flashbag.has('notice') }}

                    </div>

                {% endif %}
                {% for key, item in cart %}
                    <p>ID:{{ key }}</p>
                    <p>Quantity:{{ item }}</p>
                    <a href="{{ path('cart_remove', {'id': key}) }}">Remove</a>
                    <a href="{{ path('cart_checkout', {'id': key}) }}">checkout</a>


                {% endfor %}
            </ul>

        {% endif %}
    </ul>

    <a href="{{ path('product_index') }}">Products</a>

{% endblock %}
{% for product in products %}
    <tr class="col-span-6">
        <td><b>{{ product.name }}</b></td>
        <td>{{ product.id }}</td>
        <td>{{ cart[product.id] }}</td>
        <td>{{ product.price }}</td>
    </tr>
{% endfor %}