Показать с умом в тех же продуктах Div с тем же значением - PullRequest
0 голосов
/ 07 мая 2019

У меня есть 4 продукта, и 2 из них с одинаковыми order_id.

Вот мой умный вывод $orders:

Array (8) 
0 => Array (11) 
  id => "85" 
  order_id => "1" 
  user_email => "jeff@gmail.com" 
  total_price => "2000" 
  status => "Pending payment" 
  order_option_id => "1" 
  image => "Luxury-Sofa-for-Main-Room-at-Home-Design-Luxury-with-Stunning-Outdoor.jpg" 
  title => "ruyrytur" 
  variants => "" 
  quantity => "1" 
  unit_price => "123.00" 
1 => Array (11) 
  id => "98" 
  order_id => "2" 
  user_email => "jeff@gmail.com" 
  total_price => "20000" 
  status => "Pending payment" 
  order_option_id => "2" 
  image => "Modern-Green-Home-Architecture-house-plans.jpg" 
  title => "Vewlix 1080p (black and white)" 
  variants => "Panel 2 players (+50 euros) Red backlight (+100 euros) Screen 1440p (+400 eur..." 
  quantity => "3" 
  unit_price => "2680.00" 
2 => Array (11) 
  id => "99" 
  order_id => "2" 
  user_email => "jeff@gmail.com" 
  total_price => "20000" 
  status => "Pending payment" 
  order_option_id => "2" 
  image => "amazing-modern-villa-Freshome-02.jpg" 
  title => "Vewlix 1080p (red and white)" 
  variants => "Panel 2 players (+50 euros)" 
  quantity => "1" 
  unit_price => "2000.00" 
3 => Array (11) 
  id => "102" 
  order_id => "4" 
  user_email => "jeff@gmail.com" 
  total_price => "2000" 
  status => "1" 
  order_option_id => "4" 
  image => "amazing-modern-villa-Freshome-02.jpg" 
  title => "Vewlix 1080p (red and white)" 
  variants => "Panel 2 players (+50 euros)" 
  quantity => "1" 
  unit_price => "2000.00"

Я пробовал многие foreach для слияния"продукты с одинаковым order_id в одном и том же div без успеха

Это вывод, который я хотел бы:

<div> 
  id 85 
</div> 
<div> 
  id 98 
  id 99 
</div> 
<div> 
  id 102 
</div>

Мой foreach (который просто зацикливается на результатах)

            {foreach $orders as $orderdisplay}

                    <table class="table" style="border: 1px solid black;">
                        <tbody>
                            <tr>
                                <td></td>
                                <td>ITEM</td>
                                <td>QUANTITY</td>
                                <td>PRICE</td>
                                <td>STATUS</td>
                            </tr> 
                            <tr>
                                <td>
                                </td>
                                <td>{$orderdisplay.title}<br />{$orderdisplay.variants}</td>
                                <td>{$orderdisplay.quantity}</td>
                                <td>{$orderdisplay.total_price}</td>
                                <td>{$orderdisplay.status}</td>
                            </tr>

                        </tbody>
                    </table>
                    <span>{$orderdisplay.total_price}</span>
            {/foreach}

1 Ответ

0 голосов
/ 07 мая 2019

Решение, предоставленное на smarty форуме bsmither:

{foreach $orders as $n} 
    {$OID[{$n.order_id}][] = $n} 
{/foreach} 

{foreach $OID as $o_id => $orders4OrderID} 
   <div> 
      {foreach $orders4OrderID as $order} 
         product id {$order.id} 
      {/foreach} 
   </div> 
{/foreach}
...