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