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

  1. Installieren Sie die Erweiterung
  2. 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.