Difference between revisions of "Functions:ordersGetList"
From Whirlwind eCommerce Wiki
(New page: == Description == eV::ordersGetList() retrieves a multidimensional array of order information. Especially useful for order history pages. == Syntax == $array = eV::orderGetList([$userId[,...) |
(added fromdate, todate) |
||
| (4 intermediate revisions by one other user not shown) | |||
| Line 3: | Line 3: | ||
== Syntax == | == Syntax == | ||
| − | $array = eV::orderGetList([$userId[,$ | + | $array = eV::orderGetList([$fieldList[,$userId[,$fromDate[,$toDate]]]]); |
== Paramaters == | == Paramaters == | ||
| − | |||
| − | |||
*$fieldList STRING (optional) | *$fieldList STRING (optional) | ||
:: comma-delimited list of fields to be returned. If not passed, all fields will be returned. | :: comma-delimited list of fields to be returned. If not passed, all fields will be returned. | ||
| + | *$userId INT (optional) | ||
| + | :: system designated unique userId - all orders that belong to the user will be returned. Defaults to the current session's user. | ||
| + | *$fromDate DATETIME (optional) | ||
| + | :: if passed, only orders completed during or after the $fromDate will be returned | ||
| + | *$toDate DATETIME (optional) | ||
| + | :: if passed, only orders completed during or before the $toDate will be returned | ||
| + | |||
== Return Values == | == Return Values == | ||
| Line 48: | Line 53: | ||
</pre> | </pre> | ||
| − | == | + | == Example == |
| − | ; | + | <source lang="php"> |
| − | + | // kick if logged out | |
| − | ; | + | // recommended to place in 'pre process' code of template - no reason to waste processing power if we just gonna kick to home. |
| − | + | // also consider replacing the target page below with a link to the login page | |
| + | eV::authorizeIsLoggedIn('index.php?message=You must be logged in to view your order history') | ||
| + | |||
| + | // get listing | ||
| + | $arrOrders = eV::ordersGetList("orderId,orderNumber,completeDate,cancelDate,orderTotal"); | ||
| + | |||
| + | // start off a table | ||
| + | echo "<table><tr><td>Order Number</td><td>Date</td><td>Total</td></tr>"; | ||
| + | |||
| + | |||
| + | // we have orders, lets loop | ||
| + | $orderCount = 0; | ||
| + | foreach($arrOrders as $order) { | ||
| + | // only display orders that are completed and current (not cancelled) | ||
| + | if(!empty($order['completeDate']) && empty($order['cancelDate'])) { | ||
| + | $orderCount++; | ||
| + | echo "<tr><td><a href=\"index.php?fa=ORDER.invoice&orderNumber=" . $order['orderNumber'] . "\">" . $order['orderNumber'] . "</a></td>"; | ||
| + | echo "<td>" . date('M d, Y',strtotime($order['completeDate'])) . "</td>"; | ||
| + | echo "<td>" . eV::dollarFormat($order['orderGrandTotal']) . "</td></tr>"; | ||
| + | // end if order qualifies to be displayed | ||
| + | }; | ||
| + | // end order loop | ||
| + | }; | ||
| + | |||
| + | if(!$orderCount){ | ||
| + | // no orders, display message | ||
| + | echo "<tr><td colspan=3>You have no orders at this time</td></tr>"; | ||
| + | }; | ||
| + | // close the table | ||
| + | echo "</table>"; | ||
| − | + | // fin! | |
| − | + | </source> | |
| − | + | ||
| − | + | ||
Latest revision as of 01:34, 1 May 2009
Description
eV::ordersGetList() retrieves a multidimensional array of order information. Especially useful for order history pages.
Syntax
$array = eV::orderGetList([$fieldList[,$userId[,$fromDate[,$toDate]]]]);
Paramaters
- $fieldList STRING (optional)
- comma-delimited list of fields to be returned. If not passed, all fields will be returned.
- $userId INT (optional)
- system designated unique userId - all orders that belong to the user will be returned. Defaults to the current session's user.
- $fromDate DATETIME (optional)
- if passed, only orders completed during or after the $fromDate will be returned
- $toDate DATETIME (optional)
- if passed, only orders completed during or before the $toDate will be returned
Return Values
Returns a multidimensional array where the first dimension is the index of the order, and the second dimension is the order's field names:
Array
(
[0] => Array
(
// fields automatically included
[orderId] => INT
[orderNumber] => IN
[createDate] => DATETIME
[completeDate] => DATETIME
[cancelDate] => DATETIME
[user_firstName] => STR
[user_lastName] => STR
[user_emailAddress] => STR
[ship_firstName] => STR
[ship_lastName] => STR
[ship_emailAddress] => STR
[pay_firstName] => STR
[pay_lastName] => STR
[pay_emailAddress] => STR
[itemTotal] => FLOAT // cost of items in cart added up
[discountTotal] => FLOAT // discount totals added up
[orderTotal] => FLOAT // cost of items in cart added up, less discounts
[taxTotal] => FLOAT // total taxes charged to order
[shipTotal] => FLOAT // total shipping charged to order
[orderGrandTotal] => FLOAT // sum total of everything (item, tax, ship, less discount) for order
)
[1] => Array
(
...
)
)
Example
// kick if logged out // recommended to place in 'pre process' code of template - no reason to waste processing power if we just gonna kick to home. // also consider replacing the target page below with a link to the login page eV::authorizeIsLoggedIn('index.php?message=You must be logged in to view your order history') // get listing $arrOrders = eV::ordersGetList("orderId,orderNumber,completeDate,cancelDate,orderTotal"); // start off a table echo "<table><tr><td>Order Number</td><td>Date</td><td>Total</td></tr>"; // we have orders, lets loop $orderCount = 0; foreach($arrOrders as $order) { // only display orders that are completed and current (not cancelled) if(!empty($order['completeDate']) && empty($order['cancelDate'])) { $orderCount++; echo "<tr><td><a href=\"index.php?fa=ORDER.invoice&orderNumber=" . $order['orderNumber'] . "\">" . $order['orderNumber'] . "</a></td>"; echo "<td>" . date('M d, Y',strtotime($order['completeDate'])) . "</td>"; echo "<td>" . eV::dollarFormat($order['orderGrandTotal']) . "</td></tr>"; // end if order qualifies to be displayed }; // end order loop }; if(!$orderCount){ // no orders, display message echo "<tr><td colspan=3>You have no orders at this time</td></tr>"; }; // close the table echo "</table>"; // fin!