Op de onderstaande websites kunt u belangrijke nieuwsberichten vinden.
Onderwerpen zoals; Joomla!, SEO, WebDesign, Microsoft, Beveiliging en andere ICT gerelateerde onderwerpen.

Algemeen

Joomla!

Juridisch

Security

Data kan op verschillende plekken gewenst zijn en in verschillende formaten.
In veel gevallen betekent dit dat er ook onderhoud nodig is op deze data en dan moet dit bijvoorbeeld op 2 plekken gebeuren.

Een voorbeeld hiervan is:

Wij onderhouden de Nederlandse vertaling van de RSJoomla! extensies en deze bieden wij gratis aan.
Om de gebruikers van deze vertalingen het makkelijk te maken, gebruiken wij de Joomla! Update systeem.
Met dit systeem krijgt elke gebruiker de updates automatisch te zien in de administrator van het CMS.
Deze update informatie wordt met behulp van een XML-bestand uitgelezen door Joomla!.

Natuurlijk willen wij deze informatie ook op onze website op de Downloads tonen.
Dit zou dan naast het bijhouden van het XML bestand ook een handmatige actie zijn.
Hier is een makkelijk oplossing voor, waardoor het XML-bestand gebruikt wordt om een tabel op de website te tonen.

De oplossing:

Met behulp van de Regular Labs - Sourcerer extensie is het mogelijk om niet HTML code, zoals PHP, toe te voegen in een tekst artikel van de website.
De PHP code wordt dan uitgevoerd wanneer de pagina opgevraagd wordt, maar de bezoeker krijgt alleen HTML te zien in de vorm van bijvoorbeeld een tabel.
De onderstaande methode is een van de vele verschillende beschikbare oplossingen.

Het eerste deel van de code:

<?php
libxml_use_internal_errors(true);
$location = 'https://con-con.nl/ReleaseSystem/rsjoomla.xml';
$myXMLData = file_get_contents($location);

$xml = simplexml_load_string($myXMLData);
if ($xml === false) {
    echo "Failed loading XML: ";
    foreach(libxml_get_errors() as $error) {
        echo "<br>", $error->message;
    }
} else {
    print_r($xml);
}
?>

Het XML bestand gedefinieerd in de variabel "$location" wordt opgehaald en geplaatst in "$myXMLData".
De opgehaalde informatie wordt met SimpleXML omgezet naar een bruikbaar formaat, opgeslagen in de variabel "$xml" en getoond op de website d.m.v. "print_r($xml)".
Deze weergave op de website kan uitgeschakeld wordt door "//" voor de "print_r($xml)" te plaatsen.
Als het bestand niet opgehaald kan worden, toont deze de melding "Failed loading XML" en de gespecificeerde foutmeldingen.

Het volgende deel:

<table class="table table-striped">
<thead>
<tr>
<th>Extension</th>
<th>Version</th>
<th>Link</th>
</tr>
</thead>
<tbody>

Door het plaatsen van HTML kun je de basis weergave opbouwen.
Bij een tabel zoals op de Download pagina, heb je het begin van de tabel nodig en de header.

Het volgende deel:

<?php
foreach($xml->extension as $entry) {
    echo "<tr>";
    echo "<td>". $entry['name'] . "</td>";
    echo "<td>". $entry['version'] . "</td>";
    echo "<td><a href=\"". $entry['downloadurl'] . "\">Download</a></td>";
}
?>

In een tabel heb je rijen en in elke rij wil je de informatie plaatsen die beschikbaar is in de XML-bestand.
In het geval van de Download pagina, gaat het om de Naam, Versie en Download locatie.
Met behulp van de bovenstaande code wordt de HTML deel opgebouwd voor elke tabelrij, maar met de informatie uit de XML.

Het volgende deel:

</tbody>
</table>

Natuurlijk hoort de tabel structuur weer netjes afgesloten te worden, dit kan dan met de bovenstaande code.

Onderstaande afbeelding toont hoe dit in een Joomla! artikel eruit zit, waarbij de Sourcerer extensie gebruikt wordt.

XML to Table example