Kleine Änderung bezüglich der Einbindung des Wetters in die Panoramagalerie. Der Ort wird nun anhand der Koordinaten ermittelt, somit ist die Eingabe eines Wettercodes hinfällig und die ganze Angelegenheit ziemlich komfortabel.
Hier also die aktualisierte Anleitung:
1. Yahoo! Weather RSS Feed
Unter
developer.yahoo.com/weather wird der Feed beschrieben. Desweiteren benötigst du später für die Wettersymbole die "
Condition Codes".
2. Simple Pie
Zum Abrufen des Feeds verwende ich
SimplePie. Stelle zunächst sicher, dass dein Server die Anforderungen erfüllt und lade dir SimplePie runter.
Aus dem Paket benötigst du nur simplepie.inc. Diese Datei in ein Verzeichnis /php/ auf den Server laden. Vorher die Zeile var $cache = true; durch var $cache = false; ersetzen.
Als nächstes wird das
Yahoo! Weather Addon benötigt. Den Add-on Source Code in eine Datei simplepie_yahoo_weather.inc kopieren. Diese Datei muss in das gleiche Verzeichnis wie simplepie.inc, hier also /php/.
3. Grafiken
Passende Icons gibt es z.B. bei
fordesigner.com. Die Bilder müssen entsprechend den "Condition Codes" (siehe 1.) umbenannt werden, z.B. bei 30 partly cloudy (day) in 30.png
4. Wetter
Lade dir die Datei
wetter-widget.php runter und auf deinen Server. Mit ihr wird das Wetter auf Deutsch ausgegeben.
Du musst in der Datei eventuell nur zweimal den Pfad zu den Grafiken anpassen, falls diese in einem anderen Verzeichnis liegen. Weitere Anpassungen sind nicht nötig aber selbstverständlich möglich. Ich bitte nur darum, den Link zu meiner Seite nicht zu entfernen. Aktuelle Versionen der Übersetzung werden auf
meiner Seite veröffentlicht.
5. Einbinden in die Panoramagalerie
Zum Einbinden des Wetterwidgets in die Galerie sind nun noch folgende Schritte notwendig:
In der Layoutdatei (layouts/layout#.inc.php) an gewünschter Stelle
$this->cacheCode('[php]','
<?php
if (empty($feldx[7]))
{
echo " ";
}
else
{
$xmlfile='http://where.yahooapis.com/geocode?location='.$feldx[7].'&gflags=R&appid=APPID';
$xml = simplexml_load_file(rawurlencode($xmlfile));
$result = $xml->Result;
foreach ($result as $code) {
}
$ort = "http://weather.yahooapis.com/forecastrss?w=".$code->woeid."&u=c";
include('inc/wetter-widget.php');
}
?>')
hinzufügen.
APPID muss durch eine eigene Application ID ersetzt werden,
die bei Yahoo erhältlich ist.
Derzeit gibt es noch Probleme mit Umlauten in Ortsnamen und bei der Anzeige, wenn für Koordinaten kein Ort gefunden wird. Ich arbeite dran und bin aber für jegliche Hinweise dankbar.