TYPO3 Plugin:
mr_weatherbase
mr_weatherbase: MR Wetterbasis
Beschreibung
Diese Erweiterung bietet eine API, von der andere Wettererweiterungen abhängen können.
Die Konfigurationswerte für die Wettererweiterungen sollten in dieser Erweiterung gesammelt werden und können wie folgt geändert werden
die in anderen Erweiterungen durch den Aufruf des Weather365Utility verwendet wird, z.B.
Weather365Utility::getWeatherApiUrl();
Installation
- Installieren Sie die Erweiterung
- Fügen Sie die Typoscript-Konfiguration
MR Weather Base
hinzu (Bitte stellen Sie sicher, dass Sie die TS-Konfiguration mit einbeziehen vor den anderen Erweiterungen, die diese Erweiterung verwenden)
Lokale Umgebung
Die API hat einen IP-Block. Für die lokale Entwicklung stellen Sie den typo3-Anwendungskontext auf "Entwicklung". Dies deaktiviert die IP-Block. Du kannst dies tun, indem du Folgendes hinzufügst
export TYPO3_CONTEXT=Entwicklung
in die Datei ~/.bashrc
. Überprüfen Sie https://docs.typo3.org/typo3cms/CoreApiReference/7.6/ApiOverview/Bootstrapping/#application-context
als Referenz. Bearbeiten Sie auch /etc/nginx/includes/shared/typo3_server_block.inc
und fügen Sie die Zeile TYPO3_CONTEXT hinzu.
ort ~ \.php$ {
...
fastcgi_param TYPO3_CONTEXT Entwicklung;
...
}
Starten Sie nginx nach der Änderung neu: sudo /etc/init.d/nginx restart
Verwendung der Wetter-API
$oWeatherAPI = neuer \Maschinenring\MrWeatherbase\API2\Connection\LiveConnection();
var_dump($oWeatherAPI->doRequest(ConnectionInterface::SEARCH_TYPE_WEATHER_7DAYS_LATLONG, ['51.6', '11.6']))));
Erstellt ein Wetter-API-Objekt. Das Objekt bietet eine Funktion zur Abfrage von Daten.
Welche Art von Daten Sie wünschen, legen Sie im ersten Parameter fest. Prüfen
Maschinenring\MrWeatherbase\API2\Connection\Connection\ConnectionInterface
um zu sehen, was verfügbar ist. Die Parameter sind
die im zweiten Parameter als Array angegeben ist
Caching
Wir haben eine Caching-Ebene in die Wetter-API eingeführt. Es erleichtert die typo3 "allgemeinen" Caches und verfügt über einen Verriegelungsmechanismus mit Sperrfrist.
Ich habe das Caching mit einem einfachen node.js-Skript getestet:
var request = require('request');
var jsonDataObj = { {
aktion:'api2_weather_7day_latlong',
lat: 51.70737,
lang: 9.99280999
};
funktion doit() {) {
request.post({ {
url: 'https://w.dev.mr-de.cloud.sitewards.net/?eID=weatherbaseWeatherHandler',
formular: jsonDataObj,
json: wahr
}, Funktion (Fehler, Antwort, Körper) {
if (!body['result']) {
console.log(body);
zurückkehren;
}
if (body['result']['cached'])
console.log('zwischengespeichert:', body['Ergebnis']['zwischengespeichert']);
if (body['result']['wait'])
console.log('wait:', body['result']]['wait']);
if (Körper['Ergebnis']['frisch']])
console.log('fresh:', body['result']['fresh']]);
});
}
für (var i = 0; i < 100; i++) {
doit();
}
Das Skript beweist, dass die erste Anforderung das'fresh' Tag erhält, einige nachfolgende Anfragen erhalten ein "wait" Tag, weil sie warten darauf, dass die erste Anfrage abgeschlossen wird und alle anderen erhalten das "gecachte" Tag
Inhaltselemente
Wetter-Navigation
(Resources\Private\Templates\Content\Navigation.html
)
Ein Navigationselement mit der Möglichkeit, den erweiterten Seitenbaum von einem konfigurierten übergeordneten Element anzuzeigen.
Die Navigation wird entsprechend den Anzeigearten angezeigt:
- tablett: Tab-Navigation mit Untermenü
- mobil: Akkordeon-Navigation
- desktop: Sidebar-Navigation
Suchleiste
Die Suchleiste ermöglicht es Ihnen unter anderem, einen Benutzer über HTML5 geo-API zu finden. Wenn der API-Aufruf fehlschlägt, wird ein fallback wird verwendet. Die Rückfallkoordinaten werden in ```constants.txt```` gespeichert. Es ist der Standort von Neuburg an der Donau, Hauptsitz der Maschinenringe.
Changelog
3.1.0
- Feature] Einführung des Caching für die Wetter-API-Ebene
3.0.2
- [Patch] CSS für gespeicherte Einträge geändert, um zu vermeiden, dass die Löschschaltfläche den Text bedeckt
- [Patch] Tagesname zur stündlichen Detailansicht hinzufügen
- [Patch] Das CSS wurde geändert, um ein Mauszeigersymbol für gespeicherte Einträge zu haben
- [Bugfix] Fehlende Postleitzahl in der Kopfzeile hinzufügen, wenn ein gespeicherter Eintrag ausgewählt wurde
3.0.1
- Feature] IP-Block hinzugefügt
3.0.0
- Feature] Hinzufügen von Benutzerstandortstabellendefinitionen und cli zur Migration der alten Tabelle, run
./typo3/cli_dispatch.phpsh extbase migrate:changetablenames
- [Feature] Benutzerstandort Frontend-Ansicht und Modell hinzugefügt
2018-04-23 2.0.0
- Feature] Zugriff auf die API2.0 hinzugefügt. Erklärter API1.0-Zugriff als deaktiviert
1.2.0
- Feature] Navigationsinhaltselement für die neue Wetterseiten-Navigation hinzufügen
2017-04-25 1.1.1
- [Bugfix] Falsche Beschriftung bei einigen Wettersymbolen
2017-04-25 1.1.0
- basisgetter für Wetter365 apiURL und Wetter365 LatLonApiURL hinzufügen
2017-03-19 1.0.5
- Wetterwörter in Übersetzung für die verschiedenen Wetterarten hinzugefügt
- Neues MR-Logo für das Wetter hinzugefügt
2017-02-16 1.0.0
- Initiierte Freigabe
Benötigen Sie schnelle Hilfe mit dieser Extension? Unser Team von erfahrenen TYPO3-Entwicklern löst Probleme unkompliziert und zum Stundensatz.
[DependciesAndConflicts]