- Home
- Products
- Integration
- Tutorial
- Barcode FAQ
- Purchase
- Company
CH A P TER 17 CO NN ECT IN G TO WEB SERV IC ES in C#.NET
CH A P TER 17 CO NN ECT IN G TO WEB SERV IC ES Print Code 39 In C# Using Barcode creator for VS .NET Control to generate, create Code 39 image in .NET framework applications. www.OnBarcode.comCode 39 Scanner In C# Using Barcode scanner for .NET framework Control to read, scan read, scan image in .NET framework applications. www.OnBarcode.comImplementing the Presentation Tier
Linear 1D Barcode Drawer In Visual C# Using Barcode creation for Visual Studio .NET Control to generate, create Linear 1D Barcode image in .NET applications. www.OnBarcode.comEAN-13 Supplement 5 Creation In C#.NET Using Barcode printer for .NET framework Control to generate, create EAN13 image in .NET framework applications. www.OnBarcode.comLet s create the componentized template that will display the hats and then modify the departments_list componentized template to include this new department. Generate Code 128 Code Set B In Visual C# Using Barcode generator for Visual Studio .NET Control to generate, create Code 128 Code Set A image in VS .NET applications. www.OnBarcode.comECC200 Generation In C# Using Barcode creation for .NET Control to generate, create ECC200 image in .NET framework applications. www.OnBarcode.comExercise: Displaying Amazon.com Products in HatShop
Code-39 Printer In Visual C# Using Barcode creator for .NET framework Control to generate, create Code 39 Extended image in .NET framework applications. www.OnBarcode.comGenerate Code 9/3 In C# Using Barcode drawer for Visual Studio .NET Control to generate, create USD-3 image in VS .NET applications. www.OnBarcode.com1. Add a new file named amazon_products_list.tpl in the presentation/templates folder of your project, and add the following code in it: {* amazon_products_list.tpl *} {load_amazon_products_list assign="amazon_products_list"} <p class="title">{$amazon_products_list->mDepartmentName}</p> <br /> <p class="description">{$amazon_products_list->mDepartmentDescription}</p> {section name=k loop=$amazon_products_list->mProducts} {assign var=direction_p value="left"} {if $smarty.section.k.index != 0 && ($smarty.section.k.index + 1) % 2 == 0} {assign var=direction_p value="right"} {else} <br /> {/if} <p class="{$direction_p}"> <br /> <img src="{$amazon_products_list->mProducts[k].image}" border="0" height="70" alt="Product image" class="product_image" /> <span class="small_title"> {$amazon_products_list->mProducts[k].item_name} </span> <span> by {$amazon_products_list->mProducts[k].brand} </span> <br /><br /> {if $amazon_products_list->mProducts[k].price} <span>Price:</span> <span class="price"> {$amazon_products_list->mProducts[k].price} </span> {/if} <br /><br /> <a class="small_link" target="_blank" href="{$amazon_products_list->mProducts[k].link}"> Buy From Amazon </a> </p> {/section} Generating Code39 In None Using Barcode generator for Excel Control to generate, create Code 39 Extended image in Excel applications. www.OnBarcode.comCode-39 Encoder In .NET Using Barcode creator for Reporting Service Control to generate, create Code 39 image in Reporting Service applications. www.OnBarcode.comC H AP T ER 17 CO N NEC TI NG TO WE B SE RVI CES
DataMatrix Generator In Java Using Barcode maker for Java Control to generate, create Data Matrix 2d barcode image in Java applications. www.OnBarcode.comPaint Denso QR Bar Code In .NET Framework Using Barcode printer for Reporting Service Control to generate, create QR Code image in Reporting Service applications. www.OnBarcode.com2. Create a new file named function.load_amazon_products_list.php in the presentation/smarty_plugins folder, and add the following code in it: < php // Plugin functions inside plugin files must be named: smarty_type_name function smarty_function_load_amazon_products_list($params, $smarty) { // Create AmazonProductsList object $amazon_products_list = new AmazonProductsList(); $amazon_products_list->init(); // Assign template variable $smarty->assign($params['assign'], $amazon_products_list); } // Class that handles receiving ECS data class AmazonProductsList { // Public variables available in smarty template public $mProducts; public $mDepartmentName; public $mDepartmentDescription; // Constructor public function __construct() { $this->mDepartmentName = AMAZON_DEPARTMENT_TITLE; $this->mDepartmentDescription = AMAZON_DEPARTMENT_DESCRIPTION; } public function init() { $amazon = new Amazon(); $this->mProducts = $amazon->GetProducts(); for ($i = 0;$i < count($this->mProducts); $i++) $this->mProducts[$i]['link'] = 'http://www.amazon.com/exec/obidos/ASIN/' . $this->mProducts[$i]['asin'] . '/ref=nosim/' . AMAZON_ASSOCIATES_ID; } } > 3. Add the following styles at the end of hatshop.css: .small_title { font-family: arial, tahoma, verdana; UCC.EAN - 128 Creation In None Using Barcode creation for Software Control to generate, create GS1 128 image in Software applications. www.OnBarcode.comEAN 128 Creation In Java Using Barcode generation for Java Control to generate, create USS-128 image in Java applications. www.OnBarcode.comCH A P TER 17 CO NN ECT IN G TO WEB SERV IC ES
Barcode Reader In .NET Framework Using Barcode recognizer for .NET framework Control to read, scan read, scan image in Visual Studio .NET applications. www.OnBarcode.comMatrix Encoder In Java Using Barcode generation for Java Control to generate, create Matrix 2D Barcode image in Java applications. www.OnBarcode.comfont-size: 12px; font-weight: bold; } a.small_link { color: #0000ff; font-family: arial, tahoma, verdana; font-size: 11px; text-decoration: underline; } a.small_link:hover { color: #0000ff; font-family: arial, tahoma, verdana; font-size: 11px; } 4. Add the following two configuration lines at the end of your include/config.php file: // Amazon.com department configuration options define('AMAZON_DEPARTMENT_TITLE', 'Amazon Super Hats'); define('AMAZON_DEPARTMENT_DESCRIPTION', 'Browse these super hats that Amazon.com offers'); 5. Modify the presentation/templates/departments_list.tpl template file to add the Amazon Super Hats department. Add the highlighted code as shown here: {* Generate a link for a new department in the list *} <a {$selected_d} href="{$departments_list->mDepartments[i].link|prepare_link:"http"}"> » {$departments_list->mDepartments[i].name} </a> </li> {/section} {assign var=selected_d value=""} {if $departments_list->mAmazonSelected} {assign var=selected_d value="class=\"selected\""} {/if} <li> <a {$selected_d} href="{$departments_list->mAmazonDepartmentLink|prepare_link:"http"}"> » {$departments_list->mAmazonDepartmentName} </a> </li> </ol> </div> {* End departments list *} Printing Code 128C In Java Using Barcode encoder for Eclipse BIRT Control to generate, create USS Code 128 image in BIRT reports applications. www.OnBarcode.comScan ECC200 In None Using Barcode recognizer for Software Control to read, scan read, scan image in Software applications. www.OnBarcode.comC H AP T ER 17 CO N NEC TI NG TO WE B SE RVI CES
Barcode Creator In Visual Studio .NET Using Barcode creator for ASP.NET Control to generate, create Barcode image in ASP.NET applications. www.OnBarcode.comPDF417 Creation In None Using Barcode printer for Font Control to generate, create PDF 417 image in Font applications. www.OnBarcode.com6. Update presentation/smarty_plugins/function.load_departments_list.php as highlighted in this code snippet: ... // Manages the departments list class DepartmentsList { /* Public variables available in departments_list.tpl Smarty template */ public $mDepartments; public $mSelectedDepartment; public $mAmazonSelected = false; public $mAmazonDepartmentName; public $mAmazonDepartmentLink; // Constructor reads query string parameter public function __construct() { /* If DepartmentID exists in the query string, we're visiting a department */ if (isset ($_GET['DepartmentID'])) $this->mSelectedDepartment = (int)$_GET['DepartmentID']; else $this->mSelectedDepartment = -1; // Set Amazon department name and build the link for department $this->mAmazonDepartmentName = AMAZON_DEPARTMENT_TITLE; $this->mAmazonDepartmentLink = 'index.php DepartmentID=' . AMAZON_DEPARTMENT_TITLE; // Check if the Amazon department is selected if ((isset ($_GET['DepartmentID'])) && ((string) $_GET['DepartmentID'] == AMAZON_DEPARTMENT_TITLE)) $this->mAmazonSelected = true; } ... 7. Update include/app_top.php to reference the new business tier class by adding the following code at the end of the file: require_once BUSINESS_DIR . 'amazon.php'; 8. Modify the index.php file to load the newly created componentized template: ... // Load department details if visiting a department if (isset ($_GET['DepartmentID'])) { if ((string) $_GET['DepartmentID'] == AMAZON_DEPARTMENT_TITLE) $pageContentsCell = 'amazon_products_list.tpl'; CH A P TER 17 CO NN ECT IN G TO WEB SERV IC ES
else { $pageContentsCell = 'department.tpl'; $categoriesCell = 'categories_list.tpl'; } } ... 9. Load index.php in your browser, and then click on your newly created Amazon Super Hats department. How It Works: Displaying Amazon.com Products in HatShop
In this exercise, you simply updated HatShop to display Amazon.com products by employing the techniques you studied in the first part of the chapter. The new functionality isn t especially complex, but the possibilities are exciting. To change the access method, modify the following in include/config.php: // Amazon E-Commerce Service define('AMAZON_METHOD', 'REST'); //define('AMAZON_METHOD', 'SOAP'); When Buy From Amazon links are clicked, Amazon.com associates that customer and what he or she purchases to your Associate ID (which is mentioned in the links). In the init method from the AmazonProductsList class, the GetProducts method from the Amazon class is called to get the data to populate the list of products. This data is read to build the Amazon links to the retrieved products: public function init() { $amazon = new Amazon(); $this->mProducts = $amazon->GetProducts(); for ($i = 0;$i < count($this->mProducts); $i++) $this->mProducts[$i]['link'] = 'http://www.amazon.com/exec/obidos/ASIN/' . $this->mProducts[$i]['asin'] . '/ref=nosim/' . AMAZON_ASSOCIATES_ID; } However, you must know that Amazon offers many ways in which you can allow your visitors to buy their products. If you log in to the Associates page, you ll see a number of link types you can build and integrate into your web site. Perhaps the most interesting and powerful is the possibility to create and manage Amazon shopping carts from your PHP code by using the Amazon API. If you re really into integrating Amazon.com into your web site, you should study the ECS documentation carefully and make the most of it.
|
|