Ergebnis 1 bis 15 von 15

Thema: Wetter Modul

  1. #1
    Contao-Nutzer
    Registriert seit
    20.03.2016.
    Beiträge
    11

    Standard Wetter Modul

    Neue Wetter Erweiterung

    ER2: contao-weather-get
    Composer: cnajjar/weather-get
    GitHub: contao-weather-get

    example.png
    Geändert von pacman (11.09.2016 um 01:40 Uhr)

  2. #2
    Contao-Fan
    Registriert seit
    30.06.2009.
    Beiträge
    370

    Standard

    Vielen Dank für die tolle Erweiterung. openweathermap.org sowie YahooWeather funktioniert tadellos. - Installation über Composer - Contao 3.5.12

    Kann ich das Modul bei MetaModels nutzen wenn der Ortsname(Titel) zur Verfügung steht. In welchem Template(s) muss ich <?php $weatherdata = $this->weatherinfo[0]; ?> mit meinen Ortsnamen <?php echo $arrItem['text']['titel']; ?> ersetzen.
    Geändert von servpoint (11.09.2016 um 09:17 Uhr)

  3. #3
    Contao-Nutzer
    Registriert seit
    20.03.2016.
    Beiträge
    11

    Standard

    soll der Titel bzw Ortsname sich ändern ?

    mod_wg_yahoo
    mod_wg_forecastio
    mod_wg_openweathermap

    je nachdem von wo du das Wetter abholst.

    PHP-Code:
    $this->cityname 
    PHP-Code:
    $this->title 
    Yahoo hat erlaubte 600 Abfragen am Tag mit einem mind. cache von 1 std also 24 ~ 25 (falls jemand um 00:01 abruft erneuert es sich weil es ein neuer Tag ist trotz cache) also ca 24 Orte abrufbar
    forecast.io hat 1000 Abfragen pro Tag Kostenlos also 40
    openweathermap.org 60 Abfragen pro Minute oder ein paar Tausend pro Tag ?? (kann es leider nicht mehr finden)

    Leider hat openweathermap noch ein Nachteil. Die Daten für die Vorhersage sind im 3 std. Intervall und nicht im Tagesintervall. (Bei der Temp. hab ich den Durchschnitt berechnet und bei dem icon und der Beschreibung die Mittagsdaten genommen).
    openweathermap kann auch Tagesdaten liefern, leider nicht im kostenlosem Konto. (Aktuelle Wetterinformationen sind aber auch im kostenlosem Konto enthalten und werden so ausgegeben wie geliefert)

    yahoo icons oder openweathermap icons (Die Originalen könne auch benutzt werden in dem Template oben auskommentiert ist das jeweilige <img /> das ersetzt werden kann.)
    forecast.io hat keine eigenen icons (aber wie es aussieht die korrektesten Wetterdaten)
    Geändert von pacman (11.09.2016 um 12:12 Uhr)

  4. #4
    Contao-Fan
    Registriert seit
    30.06.2009.
    Beiträge
    370

    Standard Wettermodul in metamodels nutzen

    Brauche bitte Eure Hilfe,

    Als Modul funktioniert die Ausgabe mit einem Ort ohne Probleme. Ich brauche dies aber für viele Orte. Ich habe folgendes Template für metamodels. Wie erreiche ich die Ausgabe der Wetterdaten von openweathermap.org

    Als Werte stehen Ort <?php echo $arrItem['text']['titel']; ?> und Koordinaten <?php echo $arrItem['text']['karte']; ?> im Format XX.XXXXXXX, X.XXXXX zur Verfügung.

    Danke im Voraus


    HTML-Code:
    <?php if (count($this->data)): /* display only if there is data. */ ?>
    <?php foreach ($this->data as $arrItem): /* loop over all items. */ ?>
    
    <div class="item <?php echo $arrItem['class']; ?>">
      <h3>Wetter in <?php echo $arrItem['text']['titel']; ?>  - Temperatur & Wettervorhersage</h3>
    <div class="ce_text block" style="margin-top:20px; margin-bottom:15px;">
    
    
    <?php
    	$GLOBALS['TL_CSS'][] = 'system/modules/weather-get/assets/css/theme-simple.css';
    
    
    	$GLOBALS['TL_CSS'][] = 'system/modules/weather-get/assets/weather_icons/weather_icons/css/weather-icons.min.css';
        //Weather-ICONS = https://erikflowers.github.io/weather-icons/
    	/*Original Openweather ICONS
    	<div class="icon"><img src="http://openweathermap.org/img/w/<?= $weatherdata['weather_icon']; ?>.png" ></div>
    	*/
    ?>
    
    <div class="<?php echo $this->class ?> block"<?php echo $this->cssID ?><?php if ($this->style): ?> style="<?= $this->style ?>"<?php endif; ?>>
    	
    	<?= $this->title; ?>
    	
    	<h3><?= $this->cityname; ?></h3>
    
    		
    		<?php $weatherdata = $this->weatherinfo[0]; ?>
    		
    		<?php 
    			if((time()<$weatherdata['sunrise'])){
    				$addition="night-";
    			}elseif((time()>$weatherdata['sunrise'])&&(time()<$weatherdata['sunset'])){
    				$addition="day-";
    			}elseif((time()>$weatherdata['sunset'])&&($weatherdata['sunset']>0)){
    				$addition="night-";
    			}
    		?>
    		<div class="weatherday">
    				<div class="main-info">
    					<div class="date">Heute</div>
    					<div class="icon"><i style="font-size:3em" class="wi wi-owm-<?= $addition ?><?= $weatherdata['weather_id']; ?>"></i></div>
    					<div class="temp"><?= $weatherdata['temp']; ?><?php if($this->unit == "metric"):?>°C<?php endif;?></div>
    					<div class="text"><?= $weatherdata['weather_desc']; ?></div>
    				</div>
    				<div class="extra-info">
    					<div class="humidity"><i class="wi wi-humidity"></i> <?= $weatherdata['humidity']; ?> Luftfeutchtigkeit</div>
    					<div class="maxtemp"><i class="wi wi-thermometer"></i> <?= $weatherdata['maxtemp']; ?><i class="wi wi-celsius"></i>  maximal</div>
    					<div class="mintemp"><i class="wi wi-thermometer-exterior"></i> <?= $weatherdata['mintemp']; ?><i class="wi wi-celsius"></i>  minimal</div>
    					<div class="windspeed"> <?= $weatherdata['speed']; ?> km/std Windgesch.</div>
    				</div>
    		</div>
    
    	
    	<?php for($i=1; $i < count($this->weatherinfo); $i++): ?>
    		<?php $weatherdata = $this->weatherinfo[$i]; ?>
    		<div class="weatherday">
    				<div class="date"><?= date('d.M',$weatherdata['daytime']); ?></div>
    				<div class="icon"><i style="font-size:3em" class="wi wi-owm-<?= $weatherdata['weather_id']; ?>"></i></div>
    
    				<div class="temp"><span class="smallertemp"> <?= $weatherdata['mintemp']; ?> -</span> <?= $weatherdata['maxtemp']; ?><?php if($this->unit == "metric"):?>°C<?php endif;?></div>
    				
    				
    				<div class="text"><?= $weatherdata['weather_desc']; ?></div>
    		</div>
    	<?php endfor; ?>
    	<div class="copyright"><a href="http://www.openweathermap.org" target="_blank">&copy; openweathermap.org</a></div>
    </div>
    
    
    
    <div class="clear"></div>
    
    
    
    
    <p class="back"><a href="javascript:history.go(-1)">zurück</a></p><?php endforeach; /* item loop */ ?>
    
      
    <?php else:  /* no items found */ ?>
    <?php endif; ?>
    
    Geändert von servpoint (01.11.2016 um 13:10 Uhr)

  5. #5
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.719
    User beschenken
    Wunschliste

    Standard

    ein "allgemeines Vorgehen" auch bei anderen "Widgets" in Verbindung mit MM:

    * MM außen vor lassen und die Sache mit "statischen Parametern" testen - bei Dir also alles nach "<h3><?= $this->cityname; ?></h3>..."
    * Testen, ob das alles funktioniert
    * Ansicht checken und ggf. CSS frisieren
    * als letzten Schritt die "MM-foreach-Schleife" um die Ausgabe setzen und die statischen Parameter mit dynamischen ersetzen

    Gruss

  6. #6
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.862
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo,

    ich habe mir das template so angepasst, dass zum Datum auch der Wochentag mit ausgegeben wird ... leider aber in Englisch.

    Zeitzone in den Einstellungen = Europe/Vienna
    Sprache im Startpunkt der Webseite = de

    PHP-Code:
    <div class="date"><?= date('l d.F',$weatherdata['daytime']); ?></div>
    ergibt: Sunday 06.November

    wo muss ich ansetzen?
    Grüsse
    Bernhard


  7. #7
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ja, die PHP Funktion date() arbeitet nur in englisch. Du musst die Contao-Klasse Date mit der Methode parse() benutzen.
    PHP-Code:
    $myDate = \Date::parse('l j. F'$myTimestamp); 
    Geändert von Andreas (27.11.2016 um 20:18 Uhr)
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  8. #8
    Contao-Nutzer
    Registriert seit
    20.03.2016.
    Beiträge
    11

    Standard Update

    Forecast.io gibt es so nicht mehr.
    Die heißen jetzt Dark Sky mit einer neuen Domain. Zwar liefert die alte Domain noch Informationen aber ich wollte auf Nummer sicher gehen.
    Für den Kollegen mit dem MetaModel Problem:
    Es sieht für mich so aus, als ob du den Inhalt beeinflussen willst, indem du das Template bearbeitest. Das Template ist lediglich für das Aussehen verantwortlich.
    Ich habe ein Insert Tag hinzugefügt, und zwar

    Code:
    {{weatherg::GEWOLLTES WETTER ID}}
    oder
    Code:
    {{wethergBt::GEWOLLTES WETTER Titel}}
    Beide setzen voraus das du diese unter dem Punkt Wetter angelegt hast. Sonst gibt’s ne Fehlermeldung. Hoffe das hilft.


    Ja, die PHP Funktion date() arbeitet nur in englisch. Du musst die Contao-Klasse Date mit der Methode parse() benutzen.
    PHP-Code:
    $myDate = \Date::parse('l d.F'$myTimestamp); 
    Wieder eine neue Contao Funktion dazugelernt danke.
    Geändert von pacman (28.11.2016 um 18:20 Uhr)

  9. #9
    Contao-Nutzer Avatar von eBlick
    Registriert seit
    01.04.2012.
    Ort
    Stuttgart
    Beiträge
    139
    User beschenken
    Wunschliste

    Standard Dynamische Orte

    Hallo, ich bräuchte noch etwas input hinsichtlich der dynamischen Städtedaten.
    In den entsprechenden Zeilen habe ich $this->cityname durch Variablen der Städte ersetzt.


    <?= $cityname; ?>
    <h3><?= $cityname; ?></h3>


    Diese werden auch im FE ausgegeben. Allerdings ändern sich die Wetterdaten nicht für diese Städe.
    Hier erscheint immer nur die im BE erfasste Ort.

    An welcher Stelle müssen denn hier die Variablen im Template ersetzt werden?

  10. #10
    Contao-Nutzer
    Registriert seit
    20.03.2016.
    Beiträge
    11

    Standard

    Ich glaub, ich versteh was falsch?
    So wie ich es verstanden habe soll eine andere Stadt angezeigt werden, wenn man im Template eine Variable abändert?
    Das ist nicht der fall das Template ist ausschließlich für das Aussehen zuständig. der Inhalt wird über das Modul geregelt im Backend.

    Falls ein andere Stadtname auftauchen soll, dann würde ich ($this->title) ausgeben an der stelle damit der Titel ausgegeben wird und nicht die vom Provider gelieferte Stadtinformationen.


    Falls man im Backend mehrere Städte angelegt hat, und man einfach eins von n*Städten ausgeben will dann würde am besten ein Inserttag funktionieren.

    Falls aber die Städte ausgewählt werden sollen, die noch nicht im Backend angelegt sind, funktioniert das noch nicht.
    Grund dafür ist die Limitierten Aufruf Möglichkeit.

    z.B Yahoo mit max 600 aufrufen bzw. bezahlter account (der aber hiermit nicht funktioniert)

  11. #11
    Contao-Nutzer Avatar von eBlick
    Registriert seit
    01.04.2012.
    Ort
    Stuttgart
    Beiträge
    139
    User beschenken
    Wunschliste

    Standard

    Danke für die Infos pacman,

    ja es verhält sich tatsächlich so, dass im Backend (also in der Erweiterung) keine Städte angelegt werden.
    Das Wetter Gadget soll auf einer Reader Seite eines Reise-Katalogs eingesetzt werden.
    Hier wird der jeweilige Stadtname durch das Readertemplate ausgegeben und der Gedanke war, dass diese Stadt dem Wetter-Template übergeben werden soll.

  12. #12
    Contao-Fan
    Registriert seit
    30.06.2009.
    Beiträge
    370

    Standard

    Zitat Zitat von pacman Beitrag anzeigen
    ...
    Falls man im Backend mehrere Städte angelegt hat, und man einfach eins von n*Städten ausgeben will dann würde am besten ein Inserttag funktionieren.
    Hat sich erledigt. Die neue Version von Github und die oben aufgeführten Inserttags funktionieren auf Anhieb. Danke

    Mit besten Grüßen
    servpoint
    Geändert von servpoint (31.03.2017 um 17:10 Uhr)

  13. #13
    Contao-Nutzer
    Registriert seit
    28.06.2009.
    Beiträge
    31

    Standard Contao 4.4 Kompatibilität

    Wird diese Erweiterung in Zukunft für Contao 4.4 angepasst?
    Das wäre super nett, ich könnte sie für ein aktuelles Projekt gut gebrauchen.

    Danke

  14. #14
    Contao-Fan
    Registriert seit
    30.06.2009.
    Beiträge
    370

    Standard

    Ich habe dieses Modul weather-get unter 4.4.2 im Einsatz, manuell von Github geladen und per FTP in system/modules übertragen und contao-install für das Anlegen der Tabellen.
    Servicepoint.de - Angebote, Empfehlungen und Dienstleistungen

  15. #15
    Contao-Nutzer
    Registriert seit
    28.06.2009.
    Beiträge
    31

    Standard

    Danke, alles funktioniert nun.

    Manuelle Installation in einer 4.4.2 Installation (Contao Manager), Klasse!

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •