/ Published in: PHP
Use this PHP function to draw a nice table with product specifications gathered from an XML feed from ICEcat (http://www.icecat.biz/). It requires that you feed the function with an EAN product number and that you have registered with ICEcat. Set your username and password accordingly in the variables. You can choose to draw the product description and picture by setting $drawdescription and $drawpicture to 1.
The output is fully valid XHTML 1.0 Strict and is easily stylable using CSS.
The output is fully valid XHTML 1.0 Strict and is easily stylable using CSS.
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
function getICEcatProductSpecs($ean, $drawdescription = 0, $drawpicture = 0) { // Username and password for usage with ICEcat $username = "Your ICEcat username goes here"; $password = "Your ICEcat password goes here"; // Return 0 and exit function if no EAN available if($ean == null) { return 0; } // Get the product specifications in XML format ) )); $data = file_get_contents('http://data.icecat.biz/xml_s3/xml_server3.cgi?ean_upc='.$ean.';lang=nl;output=productxml', false, $context); $xml = new SimpleXMLElement($data); // Create arrays of item elements from the XML feed $productPicture = $xml->xpath("//Product"); $productDescription = $xml->xpath("//ProductDescription"); $categories = $xml->xpath("//CategoryFeatureGroup"); $spec_items = $xml->xpath("//ProductFeature"); //Draw product specifications table if any specs available for the product if($spec_items != null) { foreach($categories as $categoryitem) { $titleXML = new SimpleXMLElement($categoryitem->asXML()); $title = $titleXML->xpath("//Name"); $catName = $title[0]->attributes(); //echo $catId . $catName['Value']. "<br />"; $categoryList[$catId] = $catName['Value']; } $specs = "<table class='productspecs'>"; $i = 0; foreach($spec_items as $item) { $specValue = $item->attributes(); $titleXML = new SimpleXMLElement($item->asXML()); $title = $titleXML->xpath("//Name"); $specName = $title[0]->attributes(); if($specName['Value'] != "Source data-sheet") { $class = $i%2==0?"odd":"even"; $specs .= "<tr class='".$class."'> <td> <table>"; { $specs .= " <tr class='speccategory'> <th><h3>".$categoryList[$specCategoryId]."</h3></th> </tr>"; $drawnCategories[$i] = $specCategoryId; } $specs .= " <tr> </tr> <tr> <td>"; if($specValue['Presentation_Value'] == "Y") { $specs .= "Ja <img src='".SCRIPT_ROOT."images/check_green.png' alt='Ja' />"; } else if($specValue['Presentation_Value'] == "N") { $specs .= "Nee <img src='".SCRIPT_ROOT."images/check_red.png' alt='Nee' />"; } else { } $specs .= "</td> </tr> </table> </td> </tr>"; } $i++; } $specs .= "</table>"; //Draw product description and link to manufacturer if available if( $drawdescription != 0) { foreach($productDescription as $item) { $productValues = $item->attributes(); if($productValues['URL'] != null) { $specs .= "<p id='manufacturerlink'><a href='".$productValues['URL']."'>Productinformation from manufacturer</a></p>"; } if($productValues['LongDesc'] != null) { $specs .= "<p id='manudescription'>".$description."</p>"; } } } //Draw product picture if available if( $drawdescription != 0) { foreach($productPicture as $item) { $productValues = $item->attributes(); if($productValues['HighPic'] != null) { $specs .= "<div id='manuprodpic'><img src='".$productValues['HighPic']."' alt='' /></div>"; } } } return $specs; } else { return 0; } }
URL: http://nl.linkedin.com/pub/maarten-van-spil/7/a59/b7b