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] => o0ejwpsfy1irp0uclqjvfza3 ) [Assortiment] => Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array ( [Id] => 3 [Code] => 10 [Name] => Taarten & sloffen [ShowOnWebsite] => True [SeasonStartDate] => 20190101 [SeasonEndDate] => 20191231 [URL] => /assortiment/taarten-sloffen [Image] => /Images/Products/TAARTEN-SLOFFEN_204X136_600_450.JPG [ImageOriginal] => /Images/Products/AFBEELDINGEN/ARTIKELEN/ASSORTIMENT AFBEELDING/TAARTEN-SLOFFEN_204X136.JPG [ParentId] => 0 ) ) [1] => SimpleXMLElement Object ( [@attributes] => Array ( [Id] => 4 [Code] => 20 [Name] => Gebak [ShowOnWebsite] => True [SeasonStartDate] => 20190101 [SeasonEndDate] => 20191231 [URL] => /assortiment/gebak [Image] => /Images/Products/GEBAK_204X136_600_450.JPG [ImageOriginal] => /Images/Products/AFBEELDINGEN/ARTIKELEN/ASSORTIMENT AFBEELDING/GEBAK_204X136.JPG [ParentId] => 0 ) ) [2] => SimpleXMLElement Object ( [@attributes] => Array ( [Id] => 5 [Code] => 30 [Name] => Specialiteiten [ShowOnWebsite] => True [SeasonStartDate] => 20190101 [SeasonEndDate] => 20191231 [URL] => /assortiment/specialiteiten [Image] => /Images/Products/SPECIALITEITEN_204X136_600_450.JPG [ImageOriginal] => /Images/Products/AFBEELDINGEN/ARTIKELEN/ASSORTIMENT AFBEELDING/SPECIALITEITEN_204X136.JPG [ParentId] => 0 ) ) [3] => SimpleXMLElement Object ( [@attributes] => Array ( [Id] => 6 [Code] => 40 [Name] => Koek & cake [ShowOnWebsite] => True [SeasonStartDate] => 20190101 [SeasonEndDate] => 20191231 [URL] => /assortiment/koek-cake [Image] => /Images/Products/KOEK-CAKE_204X136_600_450.JPG [ImageOriginal] => /Images/Products/AFBEELDINGEN/ARTIKELEN/ASSORTIMENT AFBEELDING/KOEK-CAKE_204X136.JPG [ParentId] => 0 ) ) [4] => SimpleXMLElement Object ( [@attributes] => Array ( [Id] => 7 [Code] => 50 [Name] => Broodjes [ShowOnWebsite] => True [SeasonStartDate] => 20190101 [SeasonEndDate] => 20191231 [URL] => /assortiment/broodjes [Image] => /Images/Products/BROODJES_204X136_600_450.JPG [ImageOriginal] => /Images/Products/AFBEELDINGEN/ARTIKELEN/ASSORTIMENT AFBEELDING/BROODJES_204X136.JPG [ParentId] => 0 ) ) [5] => SimpleXMLElement Object ( [@attributes] => Array ( [Id] => 8 [Code] => 60 [Name] => Brood [ShowOnWebsite] => True [SeasonStartDate] => 20190101 [SeasonEndDate] => 20191231 [URL] => /assortiment/brood [Image] => /Images/Products/BROOD2_204X136_600_450.JPG [ImageOriginal] => /Images/Products/AFBEELDINGEN/ARTIKELEN/ASSORTIMENT AFBEELDING/BROOD2_204X136.JPG [ParentId] => 0 ) ) [6] => SimpleXMLElement Object ( [@attributes] => Array ( [Id] => 9 [Code] => 70 [Name] => Hartig [ShowOnWebsite] => True [SeasonStartDate] => 20190101 [SeasonEndDate] => 20191231 [URL] => /assortiment/hartig [Image] => /Images/Products/HARTIG_204X136_600_450.JPG [ImageOriginal] => /Images/Products/AFBEELDINGEN/ARTIKELEN/ASSORTIMENT AFBEELDING/HARTIG_204X136.JPG [ParentId] => 0 ) ) [7] => SimpleXMLElement Object ( [@attributes] => Array ( [Id] => 56 [Code] => 80 [Name] => Homemade chocolade [ShowOnWebsite] => True [SeasonStartDate] => 20190101 [SeasonEndDate] => 20191231 [URL] => /assortiment/homemade-chocolade [Image] => /Images/Products/903-SALTEDCARAMEL_600_450.JPG [ImageOriginal] => /Images/Products/AFBEELDINGEN/ARTIKELEN/640X480 KASSAFOTO'S/903-SALTEDCARAMEL.JPG [ParentId] => 0 ) ) [8] => SimpleXMLElement Object ( [@attributes] => Array ( [Id] => 57 [Code] => 810 [Name] => Pasen [ShowOnWebsite] => True [SeasonStartDate] => 20190101 [SeasonEndDate] => 20191231 [URL] => /assortiment/pasen [Image] => /Images/Products/SFEER-PASEN_600_450.JPG [ImageOriginal] => /Images/Products/AFBEELDINGEN/ARTIKELEN/ASSORTIMENT AFBEELDING/SFEER PASEN.JPG [ParentId] => 0 ) ) ) )

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

Taarten & sloffen
Taarten & sloffen
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>