Difference between revisions of "Functions:ordersGetList"
From Whirlwind eCommerce Wiki
(added fromdate, todate) |
|||
(3 intermediate revisions by one other user not shown) | |||
Line 3: | Line 3: | ||
== Syntax == | == Syntax == | ||
− | $array = eV::orderGetList([$fieldList[,$userId]]); | + | $array = eV::orderGetList([$fieldList[,$userId[,$fromDate[,$toDate]]]]); |
== Paramaters == | == Paramaters == | ||
Line 10: | Line 10: | ||
*$userId INT (optional) | *$userId INT (optional) | ||
:: system designated unique userId - all orders that belong to the user will be returned. Defaults to the current session's user. | :: 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 | ||
Line 51: | Line 55: | ||
== Example == | == Example == | ||
<source lang="php"> | <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 | // get listing | ||
Line 58: | Line 66: | ||
echo "<table><tr><td>Order Number</td><td>Date</td><td>Total</td></tr>"; | 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) | // only display orders that are completed and current (not cancelled) | ||
if(!empty($order['completeDate']) && empty($order['cancelDate'])) { | 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 "<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>" . date('M d, Y',strtotime($order['completeDate'])) . "</td>"; | ||
− | echo "<td>" . eV::dollarFormat($order['orderGrandTotal'] . "</td></tr>"; | + | echo "<td>" . eV::dollarFormat($order['orderGrandTotal']) . "</td></tr>"; |
// end if order qualifies to be displayed | // 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!