2012-09-14 2 views
0

Salut, je suis essayer d'afficher les données produit icecat et je suis un débutant php complète, j'ai trouvé un extrait de code qui je crois devrait faire le travail, il dit que cela nécessite que vous alimentez la fonction avec un numéro de produit EAN.Hot pour nourrir la fonction php

Quelqu'un pourrait-il s'il vous plaît me donner un exemple de ce que cela signifie que je ne sais pas, voici un numéro EAN du produit Code EAN/UPC: 0885909481842

Voici le fragment de code que je suis en train d'utiliser.

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 
$context = stream_context_create(array(
'http' => array(
'header' => "Authorization: Basic " . base64_encode($username.":".$password) 
) 
)); 
$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) 
{ 
$categoryList = array(); 
foreach($categories as $categoryitem) { 
$catId = intval($categoryitem->attributes()); 
$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; 

$drawnCategories = array(); 

foreach($spec_items as $item) { 
$specValue = $item->attributes(); 
$titleXML = new SimpleXMLElement($item->asXML()); 
$title = $titleXML->xpath("//Name"); 
$specName = $title[0]->attributes(); 
$specCategoryId = intval($specValue['CategoryFeatureGroup_ID']); 

if($specName['Value'] != "Source data-sheet") 
{ 
$class = $i%2==0?"odd":"even"; 
$specs .= "<tr class='".$class."'> 
<td> 
<table>"; 
if(!in_array($specCategoryId, $drawnCategories)) 
{ 
$specs .= " <tr class='speccategory'> 
<th><h3>".$categoryList[$specCategoryId]."</h3></th> 
</tr>"; 
$drawnCategories[$i] = $specCategoryId; 
} 
$specs .= " <tr> 
<th>".utf8_decode($specName['Value']).":</th> 
</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 .= str_replace('\n', '<br />', utf8_decode($specValue['Presentation_Value'])); 
} 
$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) 
{ 
$description = utf8_decode(str_replace('\n', '', $productValues['LongDesc'])); 
$description = str_replace('<b>', '<strong>', $description); 
$description = str_replace('<B>', '<strong>', $description); 
$description = str_replace('</b>', '</strong>', $description); 
$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; 
} 
} 

Tout conseil sera très apprécié thx à l'avance Peter

+1

Désolé, mais c'est hors-sujet. Nous sommes là pour vous aider avec les problèmes de programmation. Le «comment coder» les choses de base dépasse la portée du site - nous ne sommes pas là pour vous apprendre à lire le code. Vous devez le faire vous-même. –

Répondre

0

Ma compréhension est qu'il est dit que si vous appelez cette fonction, vous devez passer le paramètre EAN à lui, comme ceci:

getICEcatProductSpecs("0885909481842", 0, 0);