EXTRAvestiging GetInfo.aspx voorbeeld website



Dit is een testpagina waarin mbv PHP gegevens van een EV webshop opgehaald en getoond wordt.
* Maak een call naar een EV webshop via GetInfo.aspx en haal de XML op
* Parse de XML
* Haal de informatie van het eerste assortiment op
* Maak een button (styling via CSS)

Haal de XML data op van de EV webshop via url: http://webshop.extravestiging.nl/GetInfo.aspx?Action=GetMainAssortiments

SimpleXMLElement Object ( [@attributes] => Array ( [SessionId] => hjyog1pe1gwfsv3d3n21g2vg ) [Assortiment] => Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array ( [Id] => 4 [Code] => 110 [Name] => Extravestiging banket [ShowOnWebsite] => True [SeasonStartDate] => 20180101 [SeasonEndDate] => 20181231 [URL] => /assortiment/extravestiging-banket [Image] => /Images/Products/GESORTEERD-GEBAK_204_136.JPG [ImageOriginal] => /Images/Products/AFBEELDINGEN/ARTIKELEN/GESORTEERD-GEBAK.JPG [ParentId] => 0 ) ) [1] => SimpleXMLElement Object ( [@attributes] => Array ( [Id] => 3 [Code] => 100 [Name] => Extravestiging brood [ShowOnWebsite] => True [SeasonStartDate] => 20180101 [SeasonEndDate] => 20181231 [URL] => /assortiment/extravestiging-brood [Image] => /Images/Products/CASINO-BRUIN-ROND_204_136.JPG [ImageOriginal] => /Images/Products/AFBEELDINGEN/ARTIKELEN/CASINO BRUIN ROND.JPG [ParentId] => 0 ) ) [2] => SimpleXMLElement Object ( [@attributes] => Array ( [Id] => 5 [Code] => 120 [Name] => Extravestiging kleinbrood [ShowOnWebsite] => True [SeasonStartDate] => 20180101 [SeasonEndDate] => 20181231 [URL] => /assortiment/extravestiging-kleinbrood [Image] => /Images/Products/KLEINBROOD_204_136.JPG [ImageOriginal] => /Images/Products/AFBEELDINGEN/ARTIKELEN/KLEINBROOD.JPG [ParentId] => 0 ) ) ) )

Vervolgens maken we mbv de opgehaalde data dynamisch een 'Assortimentknop' en stylen we die met CSS

Extravestiging banket
Extravestiging banket
Klik hier...

Als er vragen of opmerkingen zijn, graag mailen naar marc@marti-orbak.nl

Sourcecode

CSS source
<!DOCTYPE html>
<!--
Dit is een testpagina waarin mbv PHP gegevens van een EV webshop opgehaald en getoond wordt
* Maak een call naar een EV webshop en haal de XML op
* Parse de XML
* Haal de informatie van het eerste assortiment op
* Maak een button (styling via CSS)
* Toon dit PHP sourcecode file
-->
<html>
    <head>
        <meta charset="UTF-8">
        <link rel="stylesheet" href="css/styles.css" />
        <title>EXTRAvestiging development test website</title>
    </head>
    <body>

        <?php
        
// Geeft een attribuut van een XML node terug
        
function xml_attribute($object$attribute)
        {
            if(isset(
$object[$attribute]))
            return (string) 
$object[$attribute];
        }
        
?>

        <?php
        
Echo "<h1>EXTRAvestiging GetInfo.aspx voorbeeld website</h1><br><br>";
        Echo 
"Dit is een testpagina waarin mbv PHP gegevens van een EV webshop opgehaald en getoond wordt.<br>";
        Echo 
"* Maak een call naar een EV webshop via GetInfo.aspx en haal de XML op<br>";
        Echo 
"* Parse de XML<br>";
        Echo 
"* Haal de informatie van het eerste assortiment op<br>";
        Echo 
"* Maak een button (styling via CSS)<br><br>";

        
// Haal de hoofdassortimenten op
        
$urlroot 'http://webshop.extravestiging.nl';
        
$getinfo '/GetInfo.aspx?Action=GetMainAssortiments';
        Echo  
sprintf("Haal de XML data op van de EV webshop via url: %s%s<br><br>"$urlroot,$getinfo);

        
// Laad de XML
        
$xmlraw file_get_contents($urlroot $getinfo);

        
// Laat de ingeladen XML zien
        // - $xml = empty -> Geen data gevonden
        // - $xml = error -> Check de status -> https://www.extravestiging.nl/wp-content/uploads/2018/06/XMLFoutAddProduct.jpg
        
$xml=simplexml_load_string($xmlraw) or die("Error: Ontvangen XML is niet correct!");
        Echo 
"<section id=\"XMLdata\">";
        
print_r($xml);
        Echo 
"</section>";

        
// Show the contents of the first Assortiment and create a button through CSS
        
Echo "<br>Vervolgens maken we mbv de opgehaalde data dynamisch een 'Assortimentknop' en stylen we die met CSS<br><br>";

        
// Haal de attributen op van het eerste assortiment
        
$AssortimentName xml_attribute($xml->Assortiment[0],"Name");
        
$AssortimentImage xml_attribute($xml->Assortiment[0],"Image");
        
$AssortimentURLxml_attribute($xml->Assortiment[0],"URL");

        
// Zet de knop-gegevens neer: name, image, URL
        
Echo sprintf("<div class=\"AssortimentButton\" id=\"%s\">",$AssortimentName);
        Echo 
sprintf("<div class=\"AssortimentButtonName\">%s</div>",$AssortimentName);
        Echo 
"<div class=\"AssortimentButtonImage\">";
        Echo 
sprintf("<img src=\"%s\" alt=\"%s\" />"$urlroot $AssortimentImage$AssortimentName);
        Echo 
"</div>";
        Echo 
"<div class=\"AssortimentButtonURL\">";
        Echo 
sprintf("<a href=\"%s\" target=\"_new\">Klik hier...</a>"$urlroot $AssortimentURL);
        Echo 
"</div>";
        Echo 
"</div>";

        Echo 
"<br>Als er vragen of opmerkingen zijn, graag mailen naar marc@marti-orbak.nl<br><br>";

        
// Laat de sourcecode van index.php zien
        
echo "<h1>Sourcecode</h1> <a href=\"css/styles.css\" target=\"_new\">CSS source</a>";
        Echo 
"<div class=\"SourceCode\">";
        
show_source("index.php");
        Echo 
"</div>";

        
?>
    </body>
</html>