http://wiki.whirlwind-ecommerce.com/mediawiki/index.php?title=Special:NewPages&feed=atom&hideredirs=1&limit=50&offset=&namespace=0&username=&tagfilter=Whirlwind eCommerce Wiki - New pages [en]2024-03-29T14:46:54ZFrom Whirlwind eCommerce WikiMediaWiki 1.24.2http://wiki.whirlwind-ecommerce.com/mediawiki/index.php?title=Google_Analytics_SetupGoogle Analytics Setup2010-02-22T21:59:36Z<p>Demgeorge5: /* Related Links */</p>
<hr />
<div>==Basic Setup==<br />
To setup GA (Google Analytics) to support page visitation activity reporting, place the following code in the bottom of every template on the web site, after the end body tag, before the end html tag. If you have a common footer(s) for the site, simply place in the common footer(s). NOTE: Be sure toe replace the UA number (UA-123456) with your web site's Google provided UA number.<br />
<source lang="php"><br />
<br />
// set pageCode<br />
// tell system to send the fuseaction as the override pageCode <br />
// if the fuseaction is anything other than PAGE.view<br />
$pageCode = ($attributes['fa'] == 'PAGE.view') ? NULL : $attributes['fa'];<br />
<br />
// display googleTrack code<br />
echo eV::googleTrack('UA-123456',$pageCode);<br />
<br />
</source><br />
<br />
==eCommerce Setup==<br />
To setup GA to support eCommerce transaction monitoring and reporting, place the following code in the bottom of the checkout complete template:<br />
<br />
<source lang="php"><br />
<br />
// get orderid from the order number (should automatically be passed in URL to order complete page)<br />
$orderId = eV::orderGetIdFromNumber($attributes['orderNumber']);<br />
<br />
// get the order data array for the passed order<br />
$orderArr = eV::orderGetCompleteArray($orderId);<br />
<br />
// display the google ecommerce transaction code<br />
// MUST appear after eV::googleTrack has been outputted<br />
echo eV::googleTrackTrans($orderArr);<br />
<br />
</source><br />
<br />
Once that is complete, you need to access the Google analytics account and confirm that the site profile is set as an "Ecommerce Website". Here are the instructions from Google on how to set that up. [http://www.google.com/support/googleanalytics/bin/answer.py?hl=en&answer=55528]<br />
<br />
==Goal Tracking: Checkout==<br />
The following explains how to setup a Checkout Goal Tracker in Google Analytics for a Whirlwind eCommerce site.<br />
* Log into GA<br />
* Select to Edit the site profile for your web site<br />
* Select "Add Goal"<br />
* Enter the following into the available fields:<br />
:* Goal Name: "Checkout"<br />
:* Active Goal: "On"<br />
:* Goal Type: "URL Destination"<br />
:* Match Type: "Regular Expression"<br />
:* Goal URL: "/ORDER.checkoutComplete"<br />
:* Case Sensitive: UNCHECKED<br />
:* Step 1: (keep adding steps until all steps are complete)<br />
::* URL: "/"<br />
::* Name: "Visit"<br />
:* Step 2:<br />
::* URL: "/ORDER.cartView"<br />
::* Name: "View Cart"<br />
:* Step 3:<br />
::* URL: "/ORDER.register"<br />
::* Name: "Register"<br />
:* Step 4:<br />
::* URL: "/ORDER.checkoutBilling"<br />
::* Name: "Billing Address"<br />
:* Step 5:<br />
::* URL: "/ORDER.checkoutShipping"<br />
::* Name: "Shipping Address"<br />
:* Step 6:<br />
::* URL: "/ORDER.checkoutPayment"<br />
::* Name: "Payment"<br />
:* Step 7:<br />
::* URL: "/ORDER.checkoutConfirmation"<br />
::* Name: "Confirmation/Review"<br />
* Hit "Save Goal" button. - Your goal funnel is now set!<br />
<br />
==Goal Tracking: Email Signup==<br />
The following explains how to setup an Email Signup Goal Tracker in Google Analytics for a Whirlwind eCommerce site. There are two ways that the email signup process may operate. One version (outlined below) will bring all users to the email signup form from the left column signup box. The other version allows the user to enter their email in the left menu OR on the email signup form page in which case you only need one step for this funnel (skip step 1)<br />
* Log into GA<br />
* Select to Edit the site profile for your web site<br />
* Select "Add Goal"<br />
* Enter the following into the available fields:<br />
:* Goal Name: "Email Signup"<br />
:* Active Goal: "On"<br />
:* Goal Type: "URL Destination"<br />
:* Match Type: "Regular Expression"<br />
:* Goal URL: "pageId=38" (This is the default pageId for confirmation for email signup. Be sure to confirm that this is the correct pageId in page management)<br />
:* Case Sensitive: UNCHECKED<br />
:* Step 1: (skip this step if the website is allowing signup from the left menu without requiring the user to complete the fields on the email signup page form.)<br />
::* URL: "pageId=35" (This is the default pageId for the email signup form page. Be sure to confirm that this is the correct pageId in page management)<br />
::* Name: "Signup Page"<br />
:* Step 2:<br />
::* URL: "pageId=38" (see above "goal URL" note)<br />
::* Name: "Signup Confirmation"<br />
* Hit "Save Goal" button. - Your goal funnel is now set!<br />
<br />
==Related Links==<br />
<br />
[http://www.cellulite.co.uk/ '''cellulite''']<br />
<br />
The best anti cellulite treatment is a lifestyle change. If you are sedentary and out of shape you must start an exercise program. Try to exercise at least thirty minutes each day. Do something you enjoy like dancing, aerobics or walking. Yoga is especially great at reducing cellulite because it stretches your skin and reduces stress. As you change your activity levels it is also important that you change your eating habits.<br />
<br />
[http://www.cellulite.co.uk/cellulite-treatments'''anti cellulite treatment''']<br />
<br />
[http://www.paydayquid.co.uk/ '''payday loans''']<br />
<br />
The process in getting payday loans these days is simple, fast and easy. No need of submitting those tedious requirements because in applying for loan, everything is done online at the comfort of your home. If you will be approved, you will have your cash in your account within 24 hours.<br />
<br />
[http://cargames.com.au/ '''car games''']<br />
<br />
[http://www.unbeatable.co.uk/pages/Electronics/TV-and-Video/Flat-Panel-Televisions/ '''lcd tv''']</div>Roothttp://wiki.whirlwind-ecommerce.com/mediawiki/index.php?title=FireFox_ExtensionsFireFox Extensions2010-02-17T14:04:31Z<p>Root: New page: =Development Environment= == Create Profile == Launch separate instance of firefox as development profile. You dont want to use your regular firefox profile when developing as it will get...</p>
<hr />
<div>=Development Environment=<br />
<br />
== Create Profile ==<br />
Launch separate instance of firefox as development profile. You dont want to use your regular firefox profile when developing as it will get manhandled.<br />
<br />
Start -> Run "%ProgramFiles%\Mozilla Firefox\firefox.exe" -no-remote -P dev<br />
<br />
Note, this dev profile can be run in tandem with your regular profile.<br />
<br />
== Setup Profile ==<br />
In the address bar, enter "about:config" to see your configuration settings.<br />
<br />
# javascript.options.showInConsole = true. Logs errors in chrome files to the Error Console.<br />
# nglayout.debug.disable_xul_cache = true. Disables the XUL cache so that changes to windows and dialogs do not require a restart. This assumes you're using directories rather than JARs. Changes to XUL overlays will still require reloading of the document overlaid.<br />
# browser.dom.window.dump.enabled = true. Enables the use of the dump() statement to print to the standard console. See window.dump for more info. You can also use nsIConsoleService from a privileged script.<br />
# javascript.options.strict = true. Enables strict JavaScript warnings in the Error Console. Note that since many people have this setting turned off when developing, you will see lots of warnings for problems with their code in addition to warnings for your own extension. You can filter those with Console2.<br />
# extensions.logging.enabled = true. This will send more detailed information about installation and update problems to the Error Console. (Note that the extension manager automatically restarts the application at startup sometimes, which may mean you won't have time to see the messages logged before the automatic restart happens. To see them, prevent the automatic restart by setting the environment NO_EM_RESTART to 1 before starting the application.)<br />
# You might also want to set dom.report_all_js_exceptions = true<br />
<br />
== Some Useful Extensions ==<br />
These will help you on your development journey<br />
<br />
* DOM Inspector, used to inspect and edit the live DOM of any web document or XUL application (Firefox and Thunderbird)<br />
* Venkman, a JavaScript Debugger (Firefox version, Thunderbird version)<br />
* Extension Developer's Extension a suite of tools for extension development (Firefox)<br />
* Console2 enhanced JavaScript console (Firefox version, Thunderbird version)<br />
* Javascript Command for writing/testing javascript on Firefox windows<br />
* Chrome List navigate and view files in chrome:// (Firefox version, Thunderbird version)<br />
* Chrome Edit Plus a user file editor (Firefox and Thunderbird)<br />
* Extension Wizard a web-based application that generates an extension skeleton (Firefox and Thunderbird)<br />
* Firebug a variety of development tools (Firefox)<br />
* Chromebug combines elements of a JavaScript debugger and DOM (Firefox, "kinda works for Thunderbird")<br />
* MozRepl explore and modify Firefox and other Mozilla apps while they run (Firefox and Thunderbird)<br />
* ExecuteJS an enhanced JavaScript console (Firefox version, Thunderbird version)<br />
* XPCOMViewer an XPCOM inspector (Firefox and Thunderbird)<br />
* JavaScript shells to test snippets of JavaScript (Firefox and Thunderbird)<br />
* SQLite Manager to manage the SQLite database (Firefox and Thunderbird)<br />
* ViewAbout enables access to various about: dialogs from the View menu (Firefox version, Thunderbird version)<br />
* Crash Me Now! useful for testing debug symbols and the crash reporting system (Firefox and Thunderbird)<br />
<br />
== Start Building Here ==<br />
Useful app that will build a framework for your extension:<br />
http://ted.mielczarek.org/code/mozilla/extensionwiz/<br />
<br />
= Sources =<br />
https://developer.mozilla.org/en/Setting_up_extension_development_environment<br />
http://lifehacker.com/264490/how-to-build-a-firefox-extension</div>Roothttp://wiki.whirlwind-ecommerce.com/mediawiki/index.php?title=Launch_Punch_ListLaunch Punch List2010-01-26T13:20:03Z<p>Czretif: </p>
<hr />
<div>*Prep client for downtime<br />
*Data Transfer<br />
*DNS move<br />
*Email DNS<br />
*SSL<br />
*Verify links to verisign/thawte from logos on site.<br />
*Analytics code<br />
*Set up Google Ecommerce and funnels (checkout/email signup)<br />
*Create XML sitemap and submit to major search engines<br />
*Create 404 page.<br />
*Prep local administrators with new FTP info<br />
*Add favicon<br />
*Check all outgoing email autoresponders content<br />
*Check all email addresses linked to client<br />
*Set up FTP access for any WW/Client administrators<br />
*Email signup connect to TEM (TEM only)</div>Roothttp://wiki.whirlwind-ecommerce.com/mediawiki/index.php?title=Automated_Order_ExportAutomated Order Export2009-12-18T18:43:33Z<p>Root: </p>
<hr />
<div>== Description ==<br />
The Automated Order Export provides a method to export order data in an XML format.<br />
<br />
== Syntax ==<br />
https://yourdomain/index.php?fa=ORDER.orderExportToXML&emailAddress=x&password=y<br />
<br />
== Paramaters ==<br />
*emailAddress STR OPTIONAL (REQUIRED if the calling application does not support sessions)<br />
:: the email address of a valid administrator or order manager account in the system. If not passed, the system will attempt to validate based on the current logged in session.<br />
*password STR OPTIONAL (REQUIRED if the calling application does not support sessions)<br />
:: the password for the above emailAddress account.<br />
*startTime DATETIME OPTIONAL<br />
:: will filter out orders that completed before the startTime. Format: YYYY-MM-DD HH:MM:SS<br />
*endTime DATETIME OPTIONAL<br />
:: will filter out orders that completed after the endTime. Format: YYYY-MM-DD HH:MM:SS<br />
*orderNumber INT-LIST OPTIONAL<br />
:: will only return orders with orderNumbers that are in this list. Example: 1234,23456,78901<br />
*onlyNotSent BIT OPTIONAL<br />
:: will return only orders that have not been marked as sent to the POS (point of sale) system. Set to value of "1" to use filter.<br />
*markAsSent BIT OPTIONAL<br />
:: will mark all orders that are returned as sent to the POS (point of sale) system. Set to value of "1" to mark as sent.<br />
*overrideSSLrequirement BIT OPTIONAL<br />
:: By default, this tool will only return orders if requested over a secure (SSL) connection. For testing purposes, this can be turned off by setting overrideSSLrequirement to "1". DO NOT use this parameter in production systems!!!! <br />
<br />
== Commented Returned XML Structure ==<br />
<br />
Returns Complete XML Document for all orders that qualify. Format is as follows:<br />
<br />
<pre><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<orders> <br />
<order><br />
<orderId>INT</orderId> // incremented with each new session cart by 1<br />
<orderNumber>INT</orderNumber> // pseudo randomly generated order number<br />
<order_createDate>DATETIME</order_createDate> // date new cart was created<br />
<order_modDate>DATETIME</order_modDate> // latest date changes occurred to order<br />
<order_completeDate>DATETIME</order_completeDate> // date order was processed (empty if not processed)<br />
<order_cancelDate>DATETIME</order_cancelDate> // date order was cancelled (empty if not cancelled)<br />
<order_accountUserId>INT</order_accountUserId> // userId if user is logged in to an account when order is processed<br />
<order_notes>TEXT</order_notes> // viewable only by order managers and system administrators<br />
<HTTP_REFERER>TEXT</HTTP_REFERER> // referring URL<br />
<ENTRY_URL>TEXT</ENTRY_URL> // URL visited when cart created<br />
<IP_ADDRESS>TEXT</IP_ADDRESS> // IP address of visitor<br />
<sent2POS>DATETIME</sent2POS> // date / time when this order was marked as sent to POS (if marked) <br />
<sourceCode>TEXT</sourceCode> // source code for order, if applicable<br />
<campaign_trackingId>INT</campaign_trackingId> // campaign tracking id if applicable<br />
<grandTotal>FLOAT</grandTotal> // order total<br />
<user_userId>INT</user_userId> // matches order_accountUserId <br />
<user_firstName>TEXT</user_firstName> // user account login/email address<br />
<user_lastName>TEXT</user_lastName> // user account last name<br />
<user_emailAddress>TEXT</user_emailAddress> // user account first name<br />
<ship_addresses> <br />
<ship_address> <br />
<ship_addressId>INT</ship_addressId> // system generated addressId<br />
<ship_firstName>TEXT</ship_firstName> <br />
<ship_lastName>TEXT</ship_lastName> <br />
<ship_street1>TEXT</ship_street1> <br />
<ship_street2>TEXT</ship_street2> <br />
<ship_city>TEXT</ship_city> <br />
<ship_state>TEXT</ship_state> // 2 character abbreviation of state<br />
<ship_zipCode>TEXT</ship_zipCode><br />
<ship_country>TEXT</ship_country> // 2 character abbreviation of country (if countries are used)<br />
<ship_phone1>TEXT</ship_phone1> <br />
<ship_phone2>TEXT</ship_phone2> <br />
<ship_phone3>TEXT</ship_phone3> <br />
<ship_fax>TEXT</ship_fax> <br />
<ship_emailAddress>TEXT</ship_emailAddress> <br />
<ship_instructions>TEXT</ship_instructions> <br />
<ship_shipType>TEXT</ship_shipType> //full shipping description<br />
<ship_shipTypeCode>TEXT</ship_shipTypeCode> // shipping abbreviation<br />
<ship_shipAmount>FLOAT</ship_shipAmount> <br />
<ship_taxAmount>FLOAT</ship_taxAmount> <br />
<ship_company>TEXT</ship_company> <br />
<ship_title>TEXT</ship_title> <br />
<items> <br />
<item> <br />
<itemId>INT</itemId> // system generated item id<br />
<item_quantity>INT</item_quantity> <br />
<item_productId>INT</item_productId> // corresponding product id<br />
<item_productName>TEXT</item_productName> <br />
<item_productNumber>TEXT</item_productNumber> <br />
<item_pricePer>FLOAT</item_pricePer> <br />
<item_cartDescription>TEXT</item_cartDescription> <br />
<item_isTaxable>BIT</item_isTaxable> // 1 of taxable, 0 if not<br />
<item_shippingSurcharge>FLOAT</item_shippingSurcharge> <br />
<item_deliveryDate>DATETIME</item_deliveryDate> <br />
<item_sku>TEXT</item_sku> <br />
<item_weight>DECIMAL</item_weight> <br />
<item_itemLayout_complete>BIT</item_itemLayout_complete> // only applicable on configurable products<br />
<item_itemLayout_configurable>BIT</item_itemLayout_configurable> // only applicable on configurable products<br />
<item_itemLayout_dataString>TEXT</item_itemLayout_dataString> // only applicable on configurable products<br />
</item> <br />
</items> <br />
</ship_address> <br />
</ship_addresses> <br />
<bill_addresses> <br />
<bill_address> <br />
<bill_addressId>INT</bill_addressId> // system generated address id<br />
<bill_firstName>TEXT</bill_firstName> <br />
<bill_lastName>TEXT</bill_lastName> <br />
<bill_street1>TEXT</bill_street1> <br />
<bill_street2>TEXT</bill_street2> <br />
<bill_city>TEXT</bill_city> <br />
<bill_state>TEXT</bill_state> // 2 digit state abbreviation<br />
<bill_zipCode>TEXT</bill_zipCode> <br />
<bill_country>TEXT</bill_country> // 2 digit country abbreviation (if countries are used)<br />
<bill_phone1>TEXT</bill_phone1> <br />
<bill_phone2>TEXT</bill_phone2> <br />
<bill_phone3>TEXT</bill_phone3> <br />
<bill_fax>TEXT</bill_fax> <br />
<bill_emailAddress>TEXT</bill_emailAddress> <br />
<bill_instructions>TET</bill_instructions> <br />
<bill_shipType>TEXT</bill_shipType> // full shipping description<br />
<bill_shipTypeCode>TEXT</bill_shipTypeCode> // abbreviated shipping code<br />
<bill_shipAmount>FLOAT</bill_shipAmount> <br />
<bill_taxAmount>FLOAT</bill_taxAmount> <br />
<bill_company>TEXT</bill_company> <br />
<bill_title>TEXT</bill_title> <br />
<payments> <br />
<payment> <br />
<pay_paymentId>INT</pay_paymentId> // system generated payment id<br />
<pay_accountNumber>TEXT</pay_accountNumber> <br />
<pay_expDate>DATE</pay_expDate> <br />
<pay_authNumber>TEXT</pay_authNumber> <br />
<pay_cancelDate>DATETIME</pay_cancelDate> <br />
<pay_manualPayment>BIT</pay_manualPayment> <br />
<pay_processDate>DATETIME</pay_processDate> <br />
<pay_amount>FLOAT</pay_amount> <br />
<pay_payType>TEXT</pay_payType> // 2 character abbreviation of pay type<br />
<pay_cvv>TEXT</pay_cvv> <br />
<pay_paymentGateway>TEXT</pay_paymentGateway> <br />
<pay_isAuthorized>BIT</pay_isAuthorized> <br />
<pay_transactionId>TEXT</pay_transactionId> <br />
<pay_AVSResponseCode>TEXT</pay_AVSResponseCode> <br />
<pay_transType>TEXT</pay_transType> <br />
</payment> <br />
</payments> <br />
</bill_address> <br />
</bill_addresses> <br />
<discounts> <br />
<discount> <br />
<disc_discountId>INT</disc_discountId> // system generated discount id for this discount use<br />
<disc_prod_discountId>INT</disc_prod_discountId> // corresponding id for discount in system <br />
<disc_discountCode>TEXT</disc_discountCode> <br />
<disc_description>TEXT</disc_description> <br />
<disc_amount>FLOAT</disc_amount> <br />
<disc_itemId>FLOAT</disc_itemId> // only if discount is attached to a free item<br />
</discount> <br />
</discounts> <br />
</order> <br />
</orders><br />
<!-- total proc time: 0.00000000 --> // displays debugging time for script generation<br />
</pre><br />
<br />
== Example Returned XML Structure ==<br />
<br />
<pre><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<orders> <br />
<order> <br />
<orderId>553</orderId> <br />
<orderNumber>10661</orderNumber> <br />
<order_createDate>2009-12-10 16:09:31</order_createDate> <br />
<order_modDate>2009-12-11 09:31:52</order_modDate> <br />
<order_completeDate>2009-12-11 10:26:06</order_completeDate> <br />
<order_cancelDate></order_cancelDate> <br />
<order_accountUserId>7</order_accountUserId> <br />
<order_notes></order_notes> <br />
<HTTP_REFERER>http://silkflowers.whirlwindtechnology.com/index.php?fa=ORDER.checkoutConfirmation</HTTP_REFERER> <br />
<ENTRY_URL>/index.php?fa=ORDER.process</ENTRY_URL> <br />
<IP_ADDRESS>98.100.93.242</IP_ADDRESS> <br />
<sent2POS></sent2POS> <br />
<sourceCode></sourceCode> <br />
<campaign_trackingId>0</campaign_trackingId> <br />
<grandTotal>1405.00</grandTotal> <br />
<user_userId>7</user_userId> <br />
<user_firstName>Chris</user_firstName> <br />
<user_lastName>Ziter</user_lastName> <br />
<user_emailAddress>chris@eightbyeight.com</user_emailAddress> <br />
<ship_addresses> <br />
<ship_address> <br />
<ship_addressId>1118</ship_addressId> <br />
<ship_firstName>Christopher</ship_firstName> <br />
<ship_lastName>Ziter</ship_lastName> <br />
<ship_street1>8378 Frane Lane</ship_street1> <br />
<ship_street2></ship_street2> <br />
<ship_city>Cincinnati</ship_city> <br />
<ship_state>OH</ship_state> <br />
<ship_zipCode>45236</ship_zipCode> <br />
<ship_country></ship_country> <br />
<ship_phone1>8888888888</ship_phone1> <br />
<ship_phone2></ship_phone2> <br />
<ship_phone3></ship_phone3> <br />
<ship_fax></ship_fax> <br />
<ship_emailAddress>chris@essexgreen.com</ship_emailAddress> <br />
<ship_instructions></ship_instructions> <br />
<ship_shipType></ship_shipType> <br />
<ship_shipTypeCode></ship_shipTypeCode> <br />
<ship_shipAmount>0.00</ship_shipAmount> <br />
<ship_taxAmount></ship_taxAmount> <br />
<ship_company></ship_company> <br />
<ship_title></ship_title> <br />
<items> <br />
<item> <br />
<itemId>328</itemId> <br />
<item_quantity>1</item_quantity> <br />
<item_productId>271</item_productId> <br />
<item_productName>Silk Hydrangea &amp; Lily Bouquet</item_productName> <br />
<item_productNumber>FLC492-MS</item_productNumber> <br />
<item_pricePer>149.00</item_pricePer> <br />
<item_cartDescription></item_cartDescription> <br />
<item_isTaxable>1</item_isTaxable> <br />
<item_shippingSurcharge>0.00</item_shippingSurcharge> <br />
<item_deliveryDate></item_deliveryDate> <br />
<item_sku>FLC492-MS</item_sku> <br />
<item_weight>0.000</item_weight> <br />
<item_itemLayout_complete></item_itemLayout_complete> <br />
<item_itemLayout_configurable>0</item_itemLayout_configurable> <br />
<item_itemLayout_dataString></item_itemLayout_dataString> <br />
</item> <br />
<item> <br />
<itemId>330</itemId> <br />
<item_quantity>1</item_quantity> <br />
<item_productId>265</item_productId> <br />
<item_productName>Grand Impression Silk Floral</item_productName> <br />
<item_productNumber>FLC459-WH</item_productNumber> <br />
<item_pricePer>595.00</item_pricePer> <br />
<item_cartDescription></item_cartDescription> <br />
<item_isTaxable>1</item_isTaxable> <br />
<item_shippingSurcharge>0.00</item_shippingSurcharge> <br />
<item_deliveryDate></item_deliveryDate> <br />
<item_sku>FLC459-WH</item_sku> <br />
<item_weight>0.000</item_weight> <br />
<item_itemLayout_complete></item_itemLayout_complete> <br />
<item_itemLayout_configurable>0</item_itemLayout_configurable> <br />
<item_itemLayout_dataString></item_itemLayout_dataString> <br />
</item> <br />
<item> <br />
<itemId>335</itemId> <br />
<item_quantity>1</item_quantity> <br />
<item_productId>472</item_productId> <br />
<item_productName>Cypress Bonsai Tree</item_productName> <br />
<item_productNumber>TTB120-GR</item_productNumber> <br />
<item_pricePer>75.00</item_pricePer> <br />
<item_cartDescription></item_cartDescription> <br />
<item_isTaxable>1</item_isTaxable> <br />
<item_shippingSurcharge>0.00</item_shippingSurcharge> <br />
<item_deliveryDate></item_deliveryDate> <br />
<item_sku>TTB120-GR</item_sku> <br />
<item_weight>0.000</item_weight> <br />
<item_itemLayout_complete></item_itemLayout_complete> <br />
<item_itemLayout_configurable>0</item_itemLayout_configurable> <br />
<item_itemLayout_dataString></item_itemLayout_dataString> <br />
</item> <br />
<item> <br />
<itemId>339</itemId> <br />
<item_quantity>1</item_quantity> <br />
<item_productId>270</item_productId> <br />
<item_productName>Bird Of Paradise Silk Arrangement</item_productName> <br />
<item_productNumber>FLC482-OR</item_productNumber> <br />
<item_pricePer>169.00</item_pricePer> <br />
<item_cartDescription></item_cartDescription> <br />
<item_isTaxable>1</item_isTaxable> <br />
<item_shippingSurcharge>0.00</item_shippingSurcharge> <br />
<item_deliveryDate></item_deliveryDate> <br />
<item_sku>FLC482-OR</item_sku> <br />
<item_weight>0.000</item_weight> <br />
<item_itemLayout_complete></item_itemLayout_complete> <br />
<item_itemLayout_configurable>0</item_itemLayout_configurable> <br />
<item_itemLayout_dataString></item_itemLayout_dataString> <br />
</item> <br />
</items> <br />
</ship_address> <br />
<ship_address> <br />
<ship_addressId>1125</ship_addressId> <br />
<ship_firstName>Christopher</ship_firstName> <br />
<ship_lastName>Ziter</ship_lastName> <br />
<ship_street1>8378 Frane Lane</ship_street1> <br />
<ship_street2></ship_street2> <br />
<ship_city>Cincinnati</ship_city> <br />
<ship_state>OH</ship_state> <br />
<ship_zipCode>45236</ship_zipCode> <br />
<ship_country></ship_country> <br />
<ship_phone1>8888888888</ship_phone1> <br />
<ship_phone2></ship_phone2> <br />
<ship_phone3></ship_phone3> <br />
<ship_fax></ship_fax> <br />
<ship_emailAddress>chris@essexgreen.com</ship_emailAddress> <br />
<ship_instructions></ship_instructions> <br />
<ship_shipType></ship_shipType> <br />
<ship_shipTypeCode></ship_shipTypeCode> <br />
<ship_shipAmount></ship_shipAmount> <br />
<ship_taxAmount></ship_taxAmount> <br />
<ship_company></ship_company> <br />
<ship_title></ship_title> <br />
<items> <br />
<item> <br />
<itemId>336</itemId> <br />
<item_quantity>1</item_quantity> <br />
<item_productId>48</item_productId> <br />
<item_productName>16&quot; Fiberglass Ribbed Square Container</item_productName> <br />
<item_productNumber>CTD126-MT</item_productNumber> <br />
<item_pricePer>89.00</item_pricePer> <br />
<item_cartDescription></item_cartDescription> <br />
<item_isTaxable>1</item_isTaxable> <br />
<item_shippingSurcharge>0.00</item_shippingSurcharge> <br />
<item_deliveryDate></item_deliveryDate> <br />
<item_sku>CTD126-MT</item_sku> <br />
<item_weight>0.000</item_weight> <br />
<item_itemLayout_complete></item_itemLayout_complete> <br />
<item_itemLayout_configurable>0</item_itemLayout_configurable> <br />
<item_itemLayout_dataString></item_itemLayout_dataString> <br />
</item> <br />
<item> <br />
<itemId>337</itemId> <br />
<item_quantity>1</item_quantity> <br />
<item_productId>17</item_productId> <br />
<item_productName>Large Smilax Container Planting</item_productName> <br />
<item_productNumber>BPX105-LG</item_productNumber> <br />
<item_pricePer>59.00</item_pricePer> <br />
<item_cartDescription></item_cartDescription> <br />
<item_isTaxable>1</item_isTaxable> <br />
<item_shippingSurcharge>0.00</item_shippingSurcharge> <br />
<item_deliveryDate></item_deliveryDate> <br />
<item_sku>BPX105-LG</item_sku> <br />
<item_weight>0.000</item_weight> <br />
<item_itemLayout_complete></item_itemLayout_complete> <br />
<item_itemLayout_configurable>0</item_itemLayout_configurable> <br />
<item_itemLayout_dataString></item_itemLayout_dataString> <br />
</item> <br />
<item> <br />
<itemId>338</itemId> <br />
<item_quantity>1</item_quantity> <br />
<item_productId>398</item_productId> <br />
<item_productName>Deluxe Ficus Tree - 8ft</item_productName> <br />
<item_productNumber>TRA100-08</item_productNumber> <br />
<item_pricePer>319.00</item_pricePer> <br />
<item_cartDescription></item_cartDescription> <br />
<item_isTaxable>1</item_isTaxable> <br />
<item_shippingSurcharge>0.00</item_shippingSurcharge> <br />
<item_deliveryDate></item_deliveryDate> <br />
<item_sku>TRA100-08</item_sku> <br />
<item_weight>0.000</item_weight> <br />
<item_itemLayout_complete></item_itemLayout_complete> <br />
<item_itemLayout_configurable>0</item_itemLayout_configurable> <br />
<item_itemLayout_dataString></item_itemLayout_dataString> <br />
</item> <br />
</items> <br />
</ship_address> <br />
</ship_addresses> <br />
<bill_addresses> <br />
<bill_address> <br />
<bill_addressId>1119</bill_addressId> <br />
<bill_firstName>Christopher</bill_firstName> <br />
<bill_lastName>Ziter</bill_lastName> <br />
<bill_street1>8378 Frane Lane</bill_street1> <br />
<bill_street2></bill_street2> <br />
<bill_city>Cincinnati</bill_city> <br />
<bill_state>OH</bill_state> <br />
<bill_zipCode>45236</bill_zipCode> <br />
<bill_country></bill_country> <br />
<bill_phone1>8888888888</bill_phone1> <br />
<bill_phone2></bill_phone2> <br />
<bill_phone3></bill_phone3> <br />
<bill_fax></bill_fax> <br />
<bill_emailAddress>chris@essexgreen.com</bill_emailAddress> <br />
<bill_instructions></bill_instructions> <br />
<bill_shipType></bill_shipType> <br />
<bill_shipTypeCode></bill_shipTypeCode> <br />
<bill_shipAmount></bill_shipAmount> <br />
<bill_taxAmount></bill_taxAmount> <br />
<bill_company></bill_company> <br />
<bill_title></bill_title> <br />
<payments> <br />
<payment> <br />
<pay_paymentId>553</pay_paymentId> <br />
<pay_accountNumber>11111111111111111111</pay_accountNumber> <br />
<pay_expDate>2009-12-31</pay_expDate> <br />
<pay_authNumber></pay_authNumber> <br />
<pay_cancelDate></pay_cancelDate> <br />
<pay_manualPayment></pay_manualPayment> <br />
<pay_processDate></pay_processDate> <br />
<pay_amount>1405.00</pay_amount> <br />
<pay_payType>MC</pay_payType> <br />
<pay_cvv>434</pay_cvv> <br />
<pay_paymentGateway></pay_paymentGateway> <br />
<pay_isAuthorized></pay_isAuthorized> <br />
<pay_transactionId></pay_transactionId> <br />
<pay_AVSResponseCode></pay_AVSResponseCode> <br />
<pay_transType></pay_transType> <br />
</payment> <br />
</payments> <br />
</bill_address> <br />
</bill_addresses> <br />
<discounts> <br />
<discount> <br />
<disc_discountId>167</disc_discountId> <br />
<disc_prod_discountId>7</disc_prod_discountId> <br />
<disc_discountCode>tiertest</disc_discountCode> <br />
<disc_description>$50 off at $200</disc_description> <br />
<disc_amount>50.00</disc_amount> <br />
<disc_itemId>0</disc_itemId> <br />
</discount> <br />
</discounts> <br />
</order> <br />
<order> <br />
<orderId>566</orderId> <br />
<orderNumber>19961</orderNumber> <br />
<order_createDate>2009-12-14 18:45:35</order_createDate> <br />
<order_modDate>2009-12-15 13:40:02</order_modDate> <br />
<order_completeDate>2009-12-15 13:43:57</order_completeDate> <br />
<order_cancelDate></order_cancelDate> <br />
<order_accountUserId>10</order_accountUserId> <br />
<order_notes></order_notes> <br />
<HTTP_REFERER></HTTP_REFERER> <br />
<ENTRY_URL>/index.php?</ENTRY_URL> <br />
<IP_ADDRESS>67.248.17.9</IP_ADDRESS> <br />
<sent2POS></sent2POS> <br />
<sourceCode></sourceCode> <br />
<campaign_trackingId>0</campaign_trackingId> <br />
<grandTotal>88.00</grandTotal> <br />
<user_userId>10</user_userId> <br />
<user_firstName>rick</user_firstName> <br />
<user_lastName>sherwood</user_lastName> <br />
<user_emailAddress>rjswood@nycap.rr.com</user_emailAddress> <br />
<ship_addresses> <br />
<ship_address> <br />
<ship_addressId>1147</ship_addressId> <br />
<ship_firstName>rick</ship_firstName> <br />
<ship_lastName>sherwood</ship_lastName> <br />
<ship_street1>3 Catallo Drive</ship_street1> <br />
<ship_street2></ship_street2> <br />
<ship_city>waterford</ship_city> <br />
<ship_state>NY</ship_state> <br />
<ship_zipCode>12188</ship_zipCode> <br />
<ship_country></ship_country> <br />
<ship_phone1>518-237-8355</ship_phone1> <br />
<ship_phone2></ship_phone2> <br />
<ship_phone3></ship_phone3> <br />
<ship_fax></ship_fax> <br />
<ship_emailAddress>rjswood@nycap.rr.com</ship_emailAddress> <br />
<ship_instructions></ship_instructions> <br />
<ship_shipType></ship_shipType> <br />
<ship_shipTypeCode></ship_shipTypeCode> <br />
<ship_shipAmount>0.00</ship_shipAmount> <br />
<ship_taxAmount></ship_taxAmount> <br />
<ship_company></ship_company> <br />
<ship_title></ship_title> <br />
<items> <br />
<item> <br />
<itemId>342</itemId> <br />
<item_quantity>2</item_quantity> <br />
<item_productId>527</item_productId> <br />
<item_productName>Rubrum Lily &amp; Viburnum Accent</item_productName> <br />
<item_productNumber>FLA519-MS</item_productNumber> <br />
<item_pricePer>49.00</item_pricePer> <br />
<item_cartDescription></item_cartDescription> <br />
<item_isTaxable>1</item_isTaxable> <br />
<item_shippingSurcharge>0.00</item_shippingSurcharge> <br />
<item_deliveryDate></item_deliveryDate> <br />
<item_sku>FLA519-MS</item_sku> <br />
<item_weight>0.000</item_weight> <br />
<item_itemLayout_complete></item_itemLayout_complete> <br />
<item_itemLayout_configurable>0</item_itemLayout_configurable> <br />
<item_itemLayout_dataString></item_itemLayout_dataString> <br />
</item> <br />
</items> <br />
</ship_address> <br />
</ship_addresses> <br />
<bill_addresses> <br />
<bill_address> <br />
<bill_addressId>1148</bill_addressId> <br />
<bill_firstName>rick</bill_firstName> <br />
<bill_lastName>sherwood</bill_lastName> <br />
<bill_street1>3 Catallo Drive</bill_street1> <br />
<bill_street2></bill_street2> <br />
<bill_city>waterford</bill_city> <br />
<bill_state>NY</bill_state> <br />
<bill_zipCode>12188</bill_zipCode> <br />
<bill_country></bill_country> <br />
<bill_phone1>518-237-8355</bill_phone1> <br />
<bill_phone2></bill_phone2> <br />
<bill_phone3></bill_phone3> <br />
<bill_fax></bill_fax> <br />
<bill_emailAddress>rjswood@nycap.rr.com</bill_emailAddress> <br />
<bill_instructions></bill_instructions> <br />
<bill_shipType></bill_shipType> <br />
<bill_shipTypeCode></bill_shipTypeCode> <br />
<bill_shipAmount></bill_shipAmount> <br />
<bill_taxAmount></bill_taxAmount> <br />
<bill_company></bill_company> <br />
<bill_title></bill_title> <br />
<payments> <br />
<payment> <br />
<pay_paymentId>566</pay_paymentId> <br />
<pay_accountNumber>3333-4444-5555-6666</pay_accountNumber> <br />
<pay_expDate>2009-12-31</pay_expDate> <br />
<pay_authNumber></pay_authNumber> <br />
<pay_cancelDate></pay_cancelDate> <br />
<pay_manualPayment></pay_manualPayment> <br />
<pay_processDate></pay_processDate> <br />
<pay_amount>88.00</pay_amount> <br />
<pay_payType>AE</pay_payType> <br />
<pay_cvv>452</pay_cvv> <br />
<pay_paymentGateway></pay_paymentGateway> <br />
<pay_isAuthorized></pay_isAuthorized> <br />
<pay_transactionId></pay_transactionId> <br />
<pay_AVSResponseCode></pay_AVSResponseCode> <br />
<pay_transType></pay_transType> <br />
</payment> <br />
</payments> <br />
</bill_address> <br />
</bill_addresses> <br />
<discounts> <br />
<discount> <br />
<disc_discountId>170</disc_discountId> <br />
<disc_prod_discountId>5</disc_prod_discountId> <br />
<disc_discountCode>7off</disc_discountCode> <br />
<disc_description>$7 off your order</disc_description> <br />
<disc_amount>7.00</disc_amount> <br />
<disc_itemId>0</disc_itemId> <br />
</discount> <br />
<discount> <br />
<disc_discountId>194</disc_discountId> <br />
<disc_prod_discountId>2</disc_prod_discountId> <br />
<disc_discountCode>3off</disc_discountCode> <br />
<disc_description>$3 off your order</disc_description> <br />
<disc_amount>3.00</disc_amount> <br />
<disc_itemId>0</disc_itemId> <br />
</discount><br />
</discounts> <br />
</order> <br />
</orders><br />
<!-- total proc time: 0.43181800842285 --><br />
</pre><br />
<br />
<br />
== Example Calls ==<br />
;returns all orders in the system<br />
https://yourdomain/index.php?fa=ORDER.orderExportToXML&emailAddress=x&password=y<br />
<br />
;returns only orders that have not been marked as sent to the POS, also marks orders as sent that are returned<br />
https://yourdomain/index.php?fa=ORDER.orderExportToXML&emailAddress=x&password=y&onlyNotSent=1&markAsSent=1<br />
<br />
;returns only orders with orderNumber 1,2,3 or 4<br />
https://yourdomain/index.php?fa=ORDER.orderExportToXML&emailAddress=x&password=y&orderNumber=1,2,3,4<br />
<br />
;returns only orders before Dec 1, 2008<br />
https://yourdomain/index.php?fa=ORDER.orderExportToXML&emailAddress=x&password=y&startTime=2008-12-01</div>Roothttp://wiki.whirlwind-ecommerce.com/mediawiki/index.php?title=Gift_CardsGift Cards2009-12-05T21:10:35Z<p>Root: New page: In addition to allowing customers to purchase and send gift cards, any number of gift cards can be manually created and made available on the web site. ==Customers Purchasing Gift Cards=...</p>
<hr />
<div>In addition to allowing customers to purchase and send gift cards, any number of gift cards can be manually created and made available on the web site. <br />
<br />
==Customers Purchasing Gift Cards==<br />
<br />
==Gift Card Search Tool==<br />
The gift card search tool provides the means to look up and view any and all gift cards in the system. The following filter criteria are available for gift card searches:<br />
:*Card Number<br />
:*Create Date<br />
:*Create Order<br />
:*Balance<br />
:*Activity Status<br />
:*Expiration Date<br />
<br />
Gift card searches can either be presented in a list of the web site (by selecting the search button) or exported to MS Excel (by selecting the export button).<br />
<br />
==Gift Card Search Results==<br />
If a standard search is selected (instead of an export to MS Excel search), the qualifying gift cards will be listed below the Gift Card Search Tool. The search results will include the following gift card information in summary format:<br />
:*Card Number<br />
:*Create Date<br />
:*Create Order<br />
:*Balance<br />
:*Activity Status<br />
:*Expiration Date<br />
<br />
The search results can be sorted by any of the above fields by selecting the arrows in the field column header. Listed gift cards can be selected to view and/or edit the submissions.<br />
<br />
==Gift Card Manage Form==<br />
The gift card manage form is displayed if 'edit' is selected next to a gift card listed in the gift card search results. The manage form will allow modification of card information, controls and the addition of transactions to the card.</div>Roothttp://wiki.whirlwind-ecommerce.com/mediawiki/index.php?title=Functions:canonicalUrlTagFunctions:canonicalUrlTag2009-11-07T00:44:50Z<p>Root: New page: == Description == canonicalUrlTag() returns a string containing the HTML link tag for the selected canonical url for the page. If no url map is selected as the canonical url, the first url...</p>
<hr />
<div>== Description ==<br />
canonicalUrlTag() returns a string containing the HTML link tag for the selected canonical url for the page. If no url map is selected as the canonical url, the first url map entered for the page will be used. If no url maps are set for the page, than the system link (index.php?pageId=#) will be used.<br />
<br />
== Syntax ==<br />
$canonicalUrlTag = eV::canonicalUrlTag($pageId[,$overrideUrl]);<br />
<br />
== Paramaters ==<br />
*pageId INT<br />
:: the pageId for the current page. This is already defined as $pageId when a template is processed.<br />
*overrideUrl STRING<br />
:: this will override the canonical link creation process, and place this string value into the href attribute for the tag.<br />
<br />
== Return Values ==<br />
String containing the HTML link tag for the canonical URL: &lt;link rel="canonical" href="/my-canonical-url-here" /&gt;<br />
<br />
== Example ==<br />
<source lang="php"><br />
echo "<html><br />
<head><br />
<title>$title</title>";<br />
echo eV::canonicalUrlTag($pageId);<br />
echo "</head><br />
<body><br />
$copy<br />
</body><br />
</html>";<br />
<br />
</source></div>Roothttp://wiki.whirlwind-ecommerce.com/mediawiki/index.php?title=Page_Templates:Inline_Form_ToolsPage Templates:Inline Form Tools2009-10-14T19:40:33Z<p>Root: /* INCLUDE fnEtc.js JAVASCRIPT LIBRARY */</p>
<hr />
<div>Inline form tools allow content managers to easily add messaging and validation to forms inline with the fields. Inline form messaging has been proven as the most user-friendly method of handling forms, resulting in more form completions. A knowledge of HTML form coding is required to do this.<br />
<br />
In order for inline form tools three steps are required<br />
<br />
==INCLUDE fnEtc.js JAVASCRIPT LIBRARY==<br />
As this contains the code to execute and manage inline forms. Just place the following line in the HEAD of your HTML page:<br />
<source lang="HTML4strict"><br />
<br />
<script language="javascript" src="/common/fnEtc.js"></script><br />
<br />
</source><br />
If you are executing your html page from outside of a whirlwind site, be sure to put the domain name in the src attribute of the above script tag<br />
<br />
==INITIALIZE INLINE FORMS==<br />
Add the following code, also in the HEAD of your HTML page, to start inline forms when the page loads:<br />
<source lang="HTML4strict"><br />
<br />
<script language="javascript"><br />
<!--<br />
eV.eventAdd(window,'load',eV.inlineFormTools); <br />
// --> <br />
</script><br />
<br />
</source><br />
<br />
==SET COMMANDS==<br />
===Form Tag Commands===<br />
The following commands can be placed in the FORM tag:<br />
;helpButtonClass: OPTIONAL : The name of the CSS class that will govern the style of help buttons generated by the inline forms tool.<br />
;helpMessageClass: OPTIONAL : The name of the CSS class that will govern the style of the help messages generated by the inline form tool.<br />
;validateMessageClass: OPTIONAL : the name of the CSS class that will govern the style of the validation messages generated by the inline form tool.<br />
===Element Tag Commands===<br />
The following attributes can be added to each form element (INPUT/SELECT/TEXTAREA tags):<br />
;help: OPTIONAL: sets the help message that will appear with user requests help with the form field. By setting this attribute, the system will automatically create a help button that will trigger the display of this help message when selected.<br />
;validate: OPTIONAL: sets the validation commands that will qualify the field value. Multiple commands can be entered, though only the message from the last failing command for each form element will be presented to the visitor at any given time. Validation command options are below:<br />
:* min - requires a minimum number of characters to be present in the form element value<br />
:: Syntax: min:integer:message. Where Integer is the minimum number of characters and message is what is outputted to the user upon failure.<br />
:: Example: &lt;input name="firstName" validate="min:3:You must enter three characters in the first name field to proceed"&gt;<br />
:* email - requires that the value of the form element is in email format "a@b.c"<br />
:: Syntax: email:message. Where message is what is outputted to the user upon failure.<br />
:: Example: &lt;input name="emailAddress" validate="email:You must enter a valid email address"&gt;<br />
:* match - requires that the value of the form element exactly match the value of another form element<br />
:: Syntax: match:elementToMatch:message. Where elementToMatch is the name of the form element that must match values with this form element and message is what is outputted to the user upon failure.<br />
:: Example: &lt;input name="passwordConfirm" validate="match:password:Password must match Confirm Password"&gt;<br />
;helpButtonClass: OPTIONAL : The name of the CSS class that will govern the style of help buttons generated by the inline forms tool for this element. Setting this attribute at the form element level will override the helpButtonClass attribute set at the FORM tag.<br />
;helpMessageClass: OPTIONAL : The name of the CSS class that will govern the style of the help messages generated by the inline form tool for this element. Setting this attribute at the form element level will override the helpMessageClass attribute set at the FORM tag.<br />
;validateMessageClass: OPTIONAL : the name of the CSS class that will govern the style of the validation messages generated by the inline form tool for this element. Setting this attribute at the form element level will override the validateMessageClass attribute set at the FORM tag.<br />
<br />
<br />
==EXAMPLES==<br />
Example<br />
<source lang="HTML4strict"><br />
<html><br />
<head><br />
<script language="javascript" src="/common/fnEtc.js"></script><br />
<script language="javascript"><br />
<!--<br />
eV.eventAdd(window,'load',eV.inlineFormTools); <br />
// --> <br />
</script><br />
<style type="text/css"><br />
<!--<br />
.hbclass {<br />
background-color: #FFFF00;<br />
font-size : 10px;<br />
text-decoration : none;<br />
color : #999966;<br />
border : solid 1px #999966;<br />
font-weight : bold;<br />
-moz-border-radius : 10px;<br />
-webkit-border-radius : 10px;<br />
padding-right: 2px;<br />
padding-left: 2px;<br />
}<br />
<br />
.hmclass {<br />
font-size : 10px;<br />
color : #999999;<br />
display:inline-block;<br />
}<br />
.hmclass2 {<br />
font-size : 10px;<br />
color : #AA6666;<br />
display:inline-block;<br />
background-color: #FFAAFF;<br />
}<br />
.vmclass {<br />
color : #FF0000;<br />
font-size : 10px;<br />
}<br />
.vmclass2 {<br />
color : #00FF00;<br />
background-color: #FFFFAA;<br />
font-size : 10px;<br />
}<br />
--><br />
</style><br />
</head><br />
<body><br />
<table><br />
<form <br />
helpButtonClass="hbclass" <br />
helpMessageClass="hmclass" <br />
validateMessageClass="vmclass"><br />
<tr><br />
<td>First Name</td><br />
<td><input type="text" name="firstName" <br />
validate="min:1:You must enter a first name"></td><br />
</tr><br />
<tr><br />
<td>Last Name</td><br />
<td><input type="text" name="lastName" <br />
validate="min:1:You must enter a last name"></td><br />
</tr><br />
<tr><br />
<td>Email Address</td><br />
<td><input type="text" name="email" <br />
validate="email:You must enter a valid email address" <br />
help="Your email address will be used as your login"></td><br />
</tr><br />
<tr><br />
<td>Password</td><br />
<td><input type="password" name="password"<br />
validate="min:8:Your password must be at least 8 characters long" <br />
help="Your password will be required, along with your email, to login" <br />
validateMessageClass="vmclass2" <br />
helpMessageClass="hmclass2"></td><br />
</tr><br />
<tr><br />
<td>Confirm Password</td><br />
<td><input type="password" name="confirmPassword" <br />
validate="match:password:Your password and confirm password must match"></td><br />
</tr><br />
</form><br />
</table><br />
</body><br />
</html><br />
</source></div>Roothttp://wiki.whirlwind-ecommerce.com/mediawiki/index.php?title=Functions:TEMChannelTagFunctions:TEMChannelTag2009-07-28T17:01:18Z<p>Root: added email attribute</p>
<hr />
<div>== Description ==<br />
Returns a single pixel img tag that sends data to Trigger Email Marketing via their API specification. The tag will automatically pull and use the clientid and client key as specified in [[Settings]] under the eCommerce tab. The tag will also automatically pull the email address using the [[Functions:orderGetEmail|orderGetEmail]] function for the passed order data array.<br />
<br />
== Syntax ==<br />
$tag = eV::TEMChannelTag($channel_id,$email,[,$dataArr][,$environment=test])<br />
<br />
== Paramaters ==<br />
*$channel_id CHAR REQUIRED<br />
:: specifies the channel id, as assigned by Trigger Email Marketing.<br />
*$email CHAR REQUIRED<br />
:: specifies the email address associated with this trigger. It is recommended to use the [[functions:orderGetEmail|orderGetEmail]] function to retrieve this.<br />
*$dataArr ARRAY OPTIONAL<br />
:: keyed array of customer facts, conversion facts, abandoned cart or cart item data. See the TEM API data specification for available fields.<br />
*$environment CHAR OPTIONAL<br />
:: dropbox location as assigned by Trigger Email Marketing. Defaults to 'test'.<br />
<br />
== Return Values ==<br />
Returns a string containing the complete image tag - ready to be echo'd to the screen. Example value:<br />
<pre><br />
<img src=”https://secure.triggeremails.com/public/api/test/tem_eboapi.php?c=123456&ck=567890&e=test@test.com&ch=1234” height=”0” width=”0” border=”0”><br />
</pre><br />
<br />
== Examples ==<br />
;Newsletter Registration Example<br />
<source lang="php"><br />
<br />
// set the channel id<br />
// this is provided by TEM<br />
$channel_id = "12345";<br />
<br />
// get order data which will be used to extract email, first name<br />
$orderArr = eV::orderGetCompleteArray();<br />
<br />
// get email which is required<br />
$email = eV::orderGetEmail($orderArr);<br />
<br />
// we also want to pass the first name<br />
// this is an optional customer fact<br />
$firstName = eV::orderGetFirstName($orderArr);<br />
$dataArr = array('f_first_name' => $firstName);<br />
<br />
// place this within the body tag of the 'thank you' page following email registration.<br />
echo eV::TEMChannelTag($channel_id,$email,$dataArr);<br />
<br />
</source><br />
;Conversion tag following completed order<br />
<source lang="php"><br />
<br />
// set the channel id<br />
// this is provided by TEM<br />
$channel_id = "23456";<br />
<br />
// we will need the order array to get necessary data to generate tag<br />
$orderArr = eV::orderGetCompleteArray();<br />
<br />
// get email which is required<br />
$email = eV::orderGetEmail($orderArr);<br />
<br />
// convert order data into data array that function is expecting<br />
$dataArr = eV::TEMDataArr_conversion($orderArr);<br />
<br />
// get tag<br />
$tag = eV::TEMChannelTag($channel_id,$email,$dataArr);<br />
// output tag<br />
echo $tag;<br />
<br />
</source><br />
<br />
== See Also ==<br />
:*[[Functions:TEMDataArr_conversion|TEMDataArr_conversion]]<br />
:*[[Functions:orderGetCompleteArray|orderGetCompleteArray]]<br />
:*[[Functions:orderGetFirstName|orderGetFirstName]]<br />
:*[[Functions:orderGetEmail|orderGetEmail]]</div>Roothttp://wiki.whirlwind-ecommerce.com/mediawiki/index.php?title=Functions:googleTrackTransFunctions:googleTrackTrans2009-05-29T14:40:27Z<p>Root: /* Examples */</p>
<hr />
<div>== Description ==<br />
eV::googleTrackTrans($orderData) returns javascript Google code for use with google eCommerce Analytics tracking. Place in the final page of checkout (fa=ORDER.checkoutComplete). The returned string MUST be displayed FOLLOWING displaying the [[Functions:googleTrack|googleTrack]] code!<br />
<br />
== Syntax ==<br />
$string = eC::googleTrackTrans($orderArray);<br />
<br />
== Paramaters ==<br />
*$orderArray ARRAY<br />
:: Array of order data as returned by [[Functions:orderGetCompleteArray|orderGetCompleteArray]]<br />
<br />
== Return Values ==<br />
Returns a string of Javascript code, as defined by Google, for use with the eCommerce tracking component of Google Analytics. The returned code includes the bounding &lt;script&gt; and &lt;/script&gt; tags. An example of the returned code is below:<br />
<br />
<pre><br />
<script type="text/javascript"><br />
pageTracker._addTrans(<br />
"123456", // Order ID<br />
"", // Affiliation<br />
"526.24", // Total<br />
"25.26", // Tax<br />
"10.56", // Shipping<br />
"Bethesda", // City<br />
"MD", // State<br />
"USA" // Country<br />
);<br />
<br />
pageTracker._addItem(<br />
"123456", // Order ID<br />
"ProdSKU12", // SKU<br />
"Widget Twelve", // Product Name <br />
"Widget can do things!", // Category<br />
"10.00", // Price<br />
"5" // Quantity<br />
);<br />
pageTracker._addItem(<br />
"123457", // Order ID<br />
"ProdSKU13", // SKU<br />
"Widget Thirteen", // Product Name <br />
"Widget can do more things!", // Category<br />
"25.00", // Price<br />
"15" // Quantity<br />
);<br />
pageTracker._trackTrans();<br />
</script><br />
</pre><br />
<br />
== Examples ==<br />
<br />
<source lang="php"><br />
echo "<html>";<br />
<br />
echo "<head>";<br />
echo "<title>$metaTitle</title>";<br />
echo "</head>";<br />
<br />
echo "<body>";<br />
echo $copy;<br />
<br />
// display googleTrack code<br />
// this MUST be displayed BEFORE calling eV::googleTrackTrans()<br />
echo eV::googleTrack('UA-1234567-1');<br />
<br />
// only display googleTrackTrans if in the final page of checkout<br />
if($attributes['fa'] == 'ORDER.checkoutComplete'){<br />
<br />
// $attributes['orderNumber'] will always be passed into fa ORDER.checkoutComplete<br />
// we must resolve the orderNumber to the orderId to get the order array:<br />
$orderId = eV::orderGetIdFromNumber($attributes['orderNumber']);<br />
<br />
// now get the order array<br />
$orderArray = eV::orderGetCompleteArray($orderId);<br />
<br />
// pass the orderArray to googleTrackTrans: <br />
echo eV::googleTrackTrans($orderArray);<br />
// end if fa=ORDER.checkoutComplete<br />
};<br />
<br />
echo "</body>";<br />
echo "</html>";<br />
<br />
</source><br />
<br />
== See Also ==<br />
:*[[Functions:googleTrack|googleTrack]]</div>Roothttp://wiki.whirlwind-ecommerce.com/mediawiki/index.php?title=Functions:googleTrackFunctions:googleTrack2009-05-29T14:22:06Z<p>Root: </p>
<hr />
<div>== Description ==<br />
eV::googleTrack() returns tracking code for google analytics. If used, echo the returned value before the &lt;/body&gt; tag.<br />
<br />
== Syntax ==<br />
$string = eV::googleTrack($trackerCode,$pageCode=NULL);<br />
<br />
== Paramaters ==<br />
*$trackerCode STRING<br />
:: The unique tracking id assigned by Google to track your site. Will be in the format "UA-1234567-1".<br />
*$pageCode STRING OPTIONAL<br />
:: Argument to specify a name for the event. By default Google will track the event using the URL - this argument allows you to override that default and enter your own event specification, such as "/checkout/shipaddress.html".<br />
<br />
== Return Values ==<br />
Returns a String containing the complete javascript, including the &lt;script&gt; and &lt;/script&gt; bounding tags. Example of returned value is below:<br />
<br />
<pre><br />
<script type="text/javascript"><br />
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); <br />
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));<br />
</script><br />
<br />
<script type="text/javascript"><br />
try {<br />
var pageTracker = _gat._getTracker("UA-1234567-1");<br />
pageTracker._trackPageview("/pageCode/Override/if/specified");<br />
} catch(err) {}<br />
</script><br />
</pre><br />
<br />
== Examples ==<br />
;Basic example<br />
<source lang="php"><br />
echo "<html>";<br />
<br />
echo "<head>";<br />
echo "<title>$metaTitle</title>";<br />
echo "</head>";<br />
<br />
echo "<body>";<br />
echo $copy;<br />
// display googleTrack code<br />
echo eV::googleTrack('UA-1234567-1');<br />
<br />
echo "</body>";<br />
echo "</html>";<br />
<br />
</source><br />
<br />
;Example using pageCode override<br />
<source lang="php"><br />
echo "<html>";<br />
<br />
echo "<head>";<br />
echo "<title>$metaTitle</title>";<br />
echo "</head>";<br />
<br />
echo "<body>";<br />
echo $copy;<br />
// set pageCode<br />
// tell system to send the fuseaction as the override pageCode <br />
// if the fuseaction is anything other than PAGE.view<br />
$pageCode = ($attributes['fa'] == 'PAGE.view') ? NULL : $attributes['fa'];<br />
// display googleTrack code<br />
echo eV::googleTrack('UA-1234567-1',$pageCode);<br />
<br />
echo "</body>";<br />
echo "</html>";<br />
<br />
</source><br />
<br />
<br />
== See Also ==<br />
:*[[Functions:googleTrackTrans|googleTrackTrans]]</div>Roothttp://wiki.whirlwind-ecommerce.com/mediawiki/index.php?title=Functions:addressesGetFunctions:addressesGet2009-05-25T03:09:39Z<p>Root: changes shippingOrBilling to shippingOrPayment</p>
<hr />
<div>== Description ==<br />
eV::addressesGet returns an array of addresses from both the selected user account and order. For use with offering an address selection for multiple shipping address checkouts.<br />
<br />
== Syntax ==<br />
$array = eV::addressesGet([$fieldList][,$shippingOrPayment][,$orderId][,$userId]);<br />
<br />
== Paramaters ==<br />
*fieldList STRING OPTIONAL<br />
:: comma-delimited list of address fields. user_addressId and sale_addressId will automatically be included. Available address fields:<br />
::*addressName<br />
::*firstName<br />
::*lastName<br />
::*street1<br />
::*street2<br />
::*city<br />
::*state<br />
::*zipCode<br />
::*country<br />
::*phone1<br />
::*phone2<br />
::*phone3<br />
::*fax<br />
::*title<br />
::*company<br />
*shippingOrPayment BIT OPTIONAL<br />
:: 0 = only shipping addresses from order, 1 = only billing addresses from order, NULL = both<br />
*orderId INT OPTIONAL<br />
:: unique orderId for visitor's shopping cart<br />
*userId INT OPTIONAL<br />
:: unique userId for user's addresses to be returned<br />
<br />
== Return Values ==<br />
Multidimensional array with first dimension being the numerical index of the address, second index containing the address field name.<br />
<br />
The returned array is as follows (only requested fields via $fieldList will be returned):<br />
<pre><br />
Array<br />
(<br />
[0] => Array<br />
(<br />
// always returned<br />
[user_addressId] => INT<br />
[sale_addressId] => INT<br />
// optional elements, as specified in $fieldList<br />
[addressName] => STRING<br />
[firstName] => STRING<br />
[lastName] => STRING<br />
[street1] => STRING<br />
[street2] => STRING<br />
[city] => STRING<br />
[state] => STRING<br />
[zipCode] => STRING<br />
[country] => STRING<br />
[phone1] => STRING<br />
[phone2] => STRING<br />
[phone3] => STRING<br />
[fax] => STRING<br />
[company] => STRING<br />
[title] => STRING<br />
)<br />
[1] => Array ...<br />
)<br />
</pre><br />
<br />
== Examples ==<br />
;Basic use example<br />
<source lang="php"><br />
// get current order, users addresses<br />
$arrAddresses = eV::getAddresses('addressName,firstName,lastName');<br />
// output<br />
foreach($arrAddresses as $address) echo "<br>" . $address['addressName'] . ": " . $address['firstName'] . " " . $address['lastName'];<br />
</source></div>Root