我目前正在使用opencart,在管理面板中有一个订单部分。
在代码中有一个显示每个订单的循环。 这是循环
<?php foreach ($orders as $order) { ?>
<tr>
<td style="text-align: center;"><?php if ($order['selected']) { ?>
<input type="checkbox" name="selected[]" value="<?php echo $order['order_id']; ?>" checked="checked" />
<?php } else { ?>
<input type="checkbox" name="selected[]" value="<?php echo $order['order_id']; ?>" />
<?php } ?></td>
<td class="right"><?php echo $order['order_id']; ?></td>
<td class="left"><?php echo $order['customer']; ?></td>
<td class="left"><?php echo $order['status']; ?></td>
<td class="right"><?php echo $order['total']; ?></td>
<td class="left"><?php echo $order['date_added']; ?></td>
<td class="left"><?php echo $order['date_modified']; ?></td>
<td class="right"><?php foreach ($order['action'] as $action) { ?>
[ <a href="<?php echo $action['href']; ?>"><?php echo $action['text']; ?></a> ]
<?php } ?></td>
</tr>
<?php } ?>
此处还有一个过滤器可以对订单进行排序。
<tr class="filter">
<td></td>
<td align="right"><input type="text" name="filter_order_id" value="<?php echo $filter_order_id; ?>" size="4" style="text-align: right;" /></td>
<td><input type="text" name="filter_customer" value="<?php echo $filter_customer; ?>" /></td>
<td><select name="filter_order_status_id">
<option value="*"></option>
<?php if ($filter_order_status_id == '0') { ?>
<option value="0" selected="selected"><?php echo $text_missing; ?></option>
<?php } else { ?>
<option value="0"><?php echo $text_missing; ?></option>
<?php } ?>
<?php foreach ($order_statuses as $order_status) { ?>
<?php if ($order_status['order_status_id'] == $filter_order_status_id) { ?>
<option value="<?php echo $order_status['order_status_id']; ?>" selected="selected"><?php echo $order_status['name']; ?></option>
<?php } else { ?>
<option value="<?php echo $order_status['order_status_id']; ?>"><?php echo $order_status['name']; ?></option>
<?php } ?>
<?php } ?>
</select></td>
<td align="right"><input type="text" name="filter_total" value="<?php echo $filter_total; ?>" size="4" style="text-align: right;" /></td>
<td><input type="text" name="filter_date_added" value="<?php echo $filter_date_added; ?>" size="12" class="date" /></td>
<td><input type="text" name="filter_date_modified" value="<?php echo $filter_date_modified; ?>" size="12" class="date" /></td>
<td align="right"><a onclick="filter();" class="button"><?php echo $button_filter; ?></a></td>
</tr>
我正在尝试做的是在订单下面,在另一个表中显示具有设置状态的所有订单。
例如,当订单完成(状态ID = 5)时,我希望它从一个表移动到另一个表
你可以看到status_id为“5”的“完整订单”和order_status为“1”的挂单。
我不担心表格看起来如何,我可以在循环中做到这一点,但我不知道如何将信息放入循环中以显示具有设置状态的订单,我已经尝试过< / p>
<?php foreach ($orders as $order) { ?>
<?php if ($order_status['order_status_id'] = 5 ?>
some data here
<?php ?>
<?php ?>
和
<?php foreach ($orders as $order) { ?>
<?php if ($order['status'] = 5 ?>
some data here
<?php ?>
<?php ?>
我是否以错误的方式解决问题?
循环不起作用,我也尝试将if语句放在foreach之前,但是它没有用。
有人可以帮忙吗?
答案 0 :(得分:0)
应该是
if( $order['status'] == 'Complete' ) {
//code
}
== is comparison operator where as = is an assignment operator
此代码应位于<?php foreach ($orders as $order) { ?>
,
另请注意,$order['status']
会提供订单状态文字而非整数,因此请相应地制定条件。有关所有订单状态,请参阅order_status
db表
您的括号也不匹配