前端的 Virtuemart 订单列表。过滤掉已取消和挂起的订单

Virtuemart orders list in frontend. Filtering out cancelled and pending orders

我设置了 Virtuemart 安装 (V.3.4.2)。 默认情况下,Virtuemart 会列出用户在注册用户的用户帐户中下的所有订单。这是在 com_virtuemart/views/orders/list.php

中呈现的

抱歉,Virtuemart 在此列表中还列出了状态为 "pending" 和 "cancelled" 的订单。

<?php
    $k = 0;
    foreach ($this->orderlist as $row) {
        $editlink = JRoute::_('index.php?option=com_virtuemart&view=orders&layout=details&order_number=' . $row->order_number, FALSE);
        ?>
        <tr class="<?php echo "row$k"; ?> orderslist">
            <td class="orderslist">
                <a class="spin" href="<?php echo $editlink; ?>" rel="nofollow" <?php echo $ajaxUpdate?> ><?php echo $row->order_number; ?></a>
                <?php echo shopFunctionsF::getInvoiceDownloadButton($row) ?>
            </td>
            <td class="orderslist" style="text-align: center;">
                <?php echo vmJsApi::date($row->created_on,'LC4',true); ?>
            </td>
            <!--td align="left">
                <?php //echo vmJsApi::date($row->modified_on,'LC3',true); ?>
            </td -->
            <td class="orderslist">
                <?php echo shopFunctionsF::getOrderStatusName($row->order_status); ?>
            </td>
            <td class="orderslist" style="text-align: center;">
                <?php echo $this->currency->priceDisplay($row->order_total, $row->currency); ?>
            </td>
        </tr>
<?php
        $k = 1 - $k;
    }
?>

有没有什么优雅的方法可以过滤掉 "cancelled or pending" 等不需要的订单状态,以便用户只看到某些订单状态,例如已确认订单、已退款和已完成订单?

非常感谢您!

您可以通过 $row->order_status.

过滤来过滤您的列表

变化:

$editlink = JRoute::_('index.php?option=com_virtuemart&view=orders&layout=details&order_number=' . $row->order_number, FALSE);
?>

至:

$editlink = JRoute::_('index.php?option=com_virtuemart&view=orders&layout=details&order_number=' . $row->order_number, FALSE);
if ($row->order_status == 'P' OR $row->order_status == 'X') {
        // do nothing
    } else { ?>

和:

<?php
        $k = 1 - $k;
    }
?>

至:

<?php
        $k = 1 - $k;
        }
    }
?>

如需筛选其他状态,可在美图菜单->配置->订单状态中找到对应的P、X等短码。