[DE] Wetterbox auf dem Portal (mit User Postleitzahl)

Forum rules
This forum is not for support requests.

Only post Modifications for Board3 Portal 1.0.x in this forum.
Locked
User avatar

Topic author
Kevin
Site Admin
Posts: 2989
Joined: 7. January 2006 20:11
phpBB.de User: Saint
phpBB.com User: Saint_hh
Location: Hamburg
Contact:

[DE] Wetterbox auf dem Portal (mit User Postleitzahl)

Post by Kevin »

Fügt einen Block mit dem Wetter des Wohnorts des Users ein. Der Wohnort wird über die Postleitzahl ermittelt
wetter_block.gif
wetter_block.gif (5.89 KiB) Viewed 48683 times
Jeder User kann seine Postleitzahl im persönlichen Bereich angeben. Falls keine angegeben ist, wird eine Standardpostleitzahl genommen, die man im Code festlegen kann.

Demo - auf der rechten Seite "Wetter"

Anmerkung:
Wuerzi wrote:Wer die Geomap installiert hat findet schon 3 Felder in der Profile fields data Tabelle (user_id , pf_plz , pf_land).
Wer also die Geomap schon installiert hat, kann die Vorbereitung überspringen. Die User können dann bereits ihre Postleitzahl angeben.

Anmerkung 2:
Frank hat eine Lösung für Leute, die den Wetterdienst in mehreren Ländern nutzen möchten (Deutschland, Schweiz, Österreich):
viewtopic.php?p=8779#p8779

Vorbereitung:

Für diesen Block muss man ein "benutzerdefiniertes Feld" im ACP anlegen, zu finden unter "Benutzer und Gruppen".
  • Profilfeld hinzufügen
    • Feld Kennung= plz
    • Art des Feldes= Einzeiliges Textfeld
    • Profilfeld anzeigen: Nein
    • Im Profil des Benutzers anzeigen: anwählen
    • Dem Benutzer angezeigter Name/Titel: Wetter Postleitzahl
    • Feld-Beschreibung: Gib hier deine Postleitzahl ein, wenn Du das Wetter aus deiner Region auf dem Portal angezeigt bekommen möchtest.
  • Spezifische Optionen der Feldart
    • Größe des Eingabefelds: 5
    • Mindestens erforderliche Zeichenanzahl: 5
    • Maximal zulässige Zeichenanzahl: 5
    • Zulässige Werte: Nur Ziffern (0-9)
Damit geben wir den Usern die Möglichkeit, ihre Postleitzahl über das UCP (Profil ändern) in der Datenbank zu hinterlegen.

Nun zu den Änderungen an den Dateien:
Öffne: portal/block/additional_blocks.php
suche:

Code: Select all

if (!defined('IN_PORTAL'))
{
    exit;
} 
füge danach ein:

Code: Select all

// Wetter START
    include($phpbb_root_path . 'portal/block/wetter.'.$phpEx);
// Wetter ENDE                             
Erstelle eine neue Datei, namens wetter.php und lade sie in portal/block/
Inhalt:

Code: Select all

<?php

if (!defined('IN_PHPBB'))
{
   exit;
}

if (!defined('IN_PORTAL'))
{
   exit;
}

        $sql = "SELECT pf_plz
                FROM " . PROFILE_FIELDS_DATA_TABLE . "
                WHERE user_id = " . $user->data['user_id'];

            $result = $db->sql_query_limit($sql, 1);
            $plz     = $db->sql_fetchfield('pf_plz');
            $db->    sql_freeresult($result);

    $template->assign_vars(array(
        'WETTER_PLZ'     => (!empty($plz)) ? $plz : '20099', // Ändere 20099 in die gewünschte Standard Postleizzahl
    ));

?>
Hierbei bitte die 20099 durch die Postleitzahl ersetzen, für das das Wetter als Standard angezeigt werden soll, sollte keine Postleitzahl angeben sein oder ein Gast das Portal betrachtet.
  • Prosilver:
    • Öffne: styles/prosilver/template/portal/block/additional_blocks_right.html (oder additional_blocks_left.html - je nachdem wo man den Block haben möchte)
      suche:

      Code: Select all

      <!-- additional_blocks //-->  
      füge danach ein:

      Code: Select all

              <!-- Wetter Start -->
                  <!-- INCLUDE portal/block/wetter.html -->
              <!-- Wetter Ende -->  
      wetter.com: (XHTML valid strict)
      Erstelle in styles/prosilver/template/portal/block/ eine neue Datei namens wetter.html, mit dem Inhalt:

      Code: Select all

          {$LR_BLOCK_H_L}<img src="{T_THEME_PATH}/images/portal/portal_stats.png" width="16px" height="16px" alt=""/>&nbsp;Wetter{$LR_BLOCK_H_R}
                      <div style="text-align: center;">
                          <!-- Wettercode Start -->
                              <a href="http://www.wetter.com/home/extern/ex_search.php?search={WETTER_PLZ}"><img src="http://www.wetter.com/home/woys/woys.php?,C,1,DEPLZ,{WETTER_PLZ}" alt="" /></a>
                              <a href="http://www.wetter.com/home/extern/ex_search.php?search={WETTER_PLZ}"><img src="http://www.wetter.com/home/woys/woys.php?,F,1,DEPLZ,{WETTER_PLZ}" alt="" /></a>
                          <!-- Wettercode Ende -->
                      </div>
                      <br />
      {$LR_BLOCK_F_L}{$LR_BLOCK_F_R}
       


      Alternativ mit donnerwetter.de: (nicht XHTML valid strict!)
      Erstelle in styles/prosilver/template/portal/block/ eine neue Datei namens wetter.html, mit dem Inhalt:

      Code: Select all

      {$LR_BLOCK_H_L}<img src="{T_THEME_PATH}/images/portal/portal_stats.png" width="16px" height="16px" alt=""/>&nbsp;Wetter{$LR_BLOCK_H_R}
                  <div style="text-align: center;">
                      <!-- Wettercode Start -->
                          <script type="text/javascript" language="javascript" src="http://www.donnerwetter.de/wetter/net/boxregio.mv?typ=1&plz={WETTER_PLZ}&color_bg=80FFFF&color_hi=FFFFFF&color_txt=000000&width="></script>
                          <noscript>JavaScript ist deaktiviert - leider sehen Sie hier kein aktuelles Wetter. <a href="http://www.donnerwetter.de" target="_blank">www.Donnerwetter.de</a></noscript> 
                      <!-- Wettercode Ende -->
                  </div>
                  <br />
      {$LR_BLOCK_F_L}{$LR_BLOCK_F_R}
      

  • subsilver2:
    • Öffne: styles/subsilver2/template/portal/block/additional_blocks_right.html (oder additional_blocks_left.html - je nachdem wo man den Block haben möchte)
      suche:

      Code: Select all

      <!-- additional_blocks //-->   
      füge danach ein:

      Code: Select all

              <!-- Wetter Start -->
                  <!-- INCLUDE portal/block/wetter.html -->
              <!-- Wetter Ende -->   
      wetter.com: (XHTML valid strict)
      Erstelle in styles/subsilver2/template/portal/block/ eine neue Datei namens wetter.html, mit dem Inhalt:

      Code: Select all

      {$LR_BLOCK_H_L}<img src="{T_THEME_PATH}/images/portal/portal_stats.png" width="16px" height="16px" alt="" />&nbsp;Wetter{$LR_BLOCK_H_R}
      <table class="tablebg" cellspacing="1" width="100%">
          <tr class="row1">
              <td style="text-align:center;">
                          <!-- Wettercode Start -->
                              <a href="http://www.wetter.com/home/extern/ex_search.php?search={WETTER_PLZ}"><img src="http://www.wetter.com/home/woys/woys.php?,C,1,DEPLZ,{WETTER_PLZ}" alt="" /></a>
                              <a href="http://www.wetter.com/home/extern/ex_search.php?search={WETTER_PLZ}"><img src="http://www.wetter.com/home/woys/woys.php?,F,1,DEPLZ,{WETTER_PLZ}" alt="" /></a>
                          <!-- Wettercode Ende -->
              </td>
          </tr>
      </table>
      {$LR_BLOCK_F_L}{$LR_BLOCK_F_R}
       

      Alternativ mit donnerwetter.de: (nicht XHTML valid strict!)
      Erstelle in styles/subsilver2/template/portal/block/ eine neue Datei namens wetter.html, mit dem Inhalt:

      Code: Select all

      {$LR_BLOCK_H_L}<img src="{T_THEME_PATH}/images/portal/portal_stats.png" width="16px" height="16px" alt="" />&nbsp;Wetter{$LR_BLOCK_H_R}
      <table class="tablebg" cellspacing="1" width="100%">
          <tr class="row1">
              <td style="text-align:center;">
                      <!-- Wettercode Start -->
                          <script type="text/javascript" language="javascript" src="http://www.donnerwetter.de/wetter/net/boxregio.mv?typ=1&plz={WETTER_PLZ}&color_bg=80FFFF&color_hi=FFFFFF&color_txt=000000&width="></script>
                          <noscript>JavaScript ist deaktiviert - leider sehen Sie hier kein aktuelles Wetter. <a href="http://www.donnerwetter.de" target="_blank">www.Donnerwetter.de</a></noscript> 
                      <!-- Wettercode Ende -->
              </td>
          </tr>
      </table>
      {$LR_BLOCK_F_L}{$LR_BLOCK_F_R}
      


Das war es auch schon.

Man kann auch andere Wetterdienste nutzen, die auf Postleitzahlen basieren. Einfach den Code in der wetter.html zwischen den Markern
<!-- Wettercode Start -->
<!-- Wettercode Ende -->
durch den des anderen Anbieters ersetzen. Dort, wo die Postleitzahl ausgegeben werden soll, diesen Code setzen:
{WETTER_PLZ}

Viel Spaß!
Last edited by Kevin on 4. April 2009 01:46, edited 14 times in total.
Reason: Update für B3P V. 1.0.3
~~~ They say the definition of madness is doing the same thing and expecting a different result ~~~

Kein Support per PN / No support via PM!
User avatar

scwfan06
Valued Contributor
Posts: 55
Joined: 3. July 2008 14:18
phpBB.de User: scwfan06
phpBB.com User: scwfan06
Location: Herne
Contact:

Re: Wetterbox auf dem Portal (mit User Postleitzahl)

Post by scwfan06 »

Respekt Kevin!

Astreine Arbeit.

Funzt super! :)
User avatar

Topic author
Kevin
Site Admin
Posts: 2989
Joined: 7. January 2006 20:11
phpBB.de User: Saint
phpBB.com User: Saint_hh
Location: Hamburg
Contact:

Re: Wetterbox auf dem Portal (mit User Postleitzahl)

Post by Kevin »

Sehr schön! :)
~~~ They say the definition of madness is doing the same thing and expecting a different result ~~~

Kein Support per PN / No support via PM!

HenK
Valued Contributor
Posts: 80
Joined: 8. January 2008 12:50
phpBB.de User: HenK
phpBB.com User: H3nK
Location: Germany

Re: Wetterbox auf dem Portal (mit User Postleitzahl)

Post by HenK »

Super! Danke Kevin!
User avatar

Topic author
Kevin
Site Admin
Posts: 2989
Joined: 7. January 2006 20:11
phpBB.de User: Saint
phpBB.com User: Saint_hh
Location: Hamburg
Contact:

Re: Wetterbox auf dem Portal (mit User Postleitzahl)

Post by Kevin »

Update - siehe ersten Beitrag.
  • wetter.com dazu
  • subsilver2 dazu
  • den Code aus der portal.php in eine eigene Datei ausgelagert
  • XHTML valid strict! (wetter.com)
~~~ They say the definition of madness is doing the same thing and expecting a different result ~~~

Kein Support per PN / No support via PM!

Strande
Active Member
Posts: 2
Joined: 21. May 2008 16:33

Re: Wetterbox auf dem Portal (mit User Postleitzahl)

Post by Strande »

eine kleine frage noch am rande, ich hab einen user da sind unter derselben PLZ mehrere Orte, wie oder wo kann ich festlegen das der richtige Ort angezeigt wird.
User avatar

Redbull254
Former Team Member
Posts: 693
Joined: 19. January 2006 22:50
Location: Kamen
Contact:

Re: Wetterbox auf dem Portal (mit User Postleitzahl)

Post by Redbull254 »

Strande wrote:eine kleine frage noch am rande, ich hab einen user da sind unter derselben PLZ mehrere Orte, wie oder wo kann ich festlegen das der richtige Ort angezeigt wird.
Die Anzeige ist nur so genau, wie der jeweilige Anbieter eine Selektierung zulässt. Es wird ja nur das Modul des Anbieters in das Portal eingebaut.

Geht die Auswahl des Ortes schon beim Anbieter nicht genauer, kann es im Portal auch nicht anders angezeigt werden.
LG
Walter

"Klug ist nicht, wer keine Fehler macht. Klug ist der, der es versteht, sie zu korrigieren."
User avatar

archivar
Portal Professional
Posts: 1959
Joined: 19. April 2009 21:34
phpBB.de User: archivar
phpBB.com User: archivar
Location: Deutschland

Re: Wetterbox auf dem Portal (mit User Postleitzahl)

Post by archivar »

wenn ich im pers.-bereich die plz eingebe 07768 bekomme ich die meldung muß größer als 10000 sein.
setze ich den wert auf 1000 wird beim wetterfritzen die 0 unterschlagen und zeigt mir nur noch 7768 ort nicht gefunden.
kann mir jemand mitteilen was ich wieder verkehrt gemacht habe? :oops:
L.G. archivar (der ewige anfänger :oops: )
Last edited by archivar on 8. August 2009 19:31, edited 1 time in total.
V.G. archivar
sorry for my bad english

HenK
Valued Contributor
Posts: 80
Joined: 8. January 2008 12:50
phpBB.de User: HenK
phpBB.com User: H3nK
Location: Germany

Re: Wetterbox auf dem Portal (mit User Postleitzahl)

Post by HenK »

Was hab ich falsch gemacht wenn ich auf dem Portal folgendes angezeigt bekomme:
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3570: Cannot modify header information - headers already sent by (output started at /portal/block/wetter.php:1)
Das portal an sich wird angezeigt. Nur mit ziemlich großer Schrift.

EDIT:

Hat sich erledigt! Weiß nicht genau woran es lag aber hab die wetter.php nochmal neu gemacht.^^

HenK
Valued Contributor
Posts: 80
Joined: 8. January 2008 12:50
phpBB.de User: HenK
phpBB.com User: H3nK
Location: Germany

Re: Wetterbox auf dem Portal (mit User Postleitzahl)

Post by HenK »

lemmi wrote:wenn ich im pers.-bereich die plz eingebe 07768 bekomme ich die meldung muß größer als 10000 sein.
setze ich den wert auf 1000 wird beim wetterfritzen die 0 unterschlagen und zeigt mir nur noch 7768 ort nicht gefunden.
kann mir jemand mitteilen was ich wieder verkehrt gemacht habe? :oops:
L.G. lemmi (der ewige anfänger :oops: )
Ich glaube du hast nix falsch gemacht. PLzs, die miz 0 anfangen scheinen damit nicht zu funktionieren. Da das Profilfeld die Nullen am anfang wegstreicht.
User avatar

Christian_N
Former Team Member
Posts: 2266
Joined: 19. January 2008 01:17
phpBB.de User: Christian_N
phpBB.com User: Christian_N
Location: Frankfurt
Contact:

Re: Wetterbox auf dem Portal (mit User Postleitzahl)

Post by Christian_N »

HenK wrote:
lemmi wrote:wenn ich im pers.-bereich die plz eingebe 07768 bekomme ich die meldung muß größer als 10000 sein.
setze ich den wert auf 1000 wird beim wetterfritzen die 0 unterschlagen und zeigt mir nur noch 7768 ort nicht gefunden.
kann mir jemand mitteilen was ich wieder verkehrt gemacht habe? :oops:
L.G. lemmi (der ewige anfänger :oops: )
Ich glaube du hast nix falsch gemacht. PLzs, die miz 0 anfangen scheinen damit nicht zu funktionieren. Da das Profilfeld die Nullen am anfang wegstreicht.
So ist es, steht auch im ersten Beitrag drin, wenn man diesen mal genau durch lesen tut. :D
Kevin wrote:
  • Spezifische Optionen der Feldart
    • Größe des Eingabefelds: 5
    • Niedrigste zulässige Zahl: 10000
    • Höchste zulässige Zahl: 99999
    • Standardwert: 0
Extra mal rot markiert.
Meine Projekte: Chantals - Fanpage .::. phpBB Projekt
No support via PM, email or messenger!
User avatar

Redbull254
Former Team Member
Posts: 693
Joined: 19. January 2006 22:50
Location: Kamen
Contact:

Re: Wetterbox auf dem Portal (mit User Postleitzahl)

Post by Redbull254 »

Das Problem ist nicht, das man als Standard-Vorgabe die 10000 drin hat, das kann man ja leicht ändern.
Das Problem liegt darin, das Zahlen-Kombinationen, die mit der Zahl 0 beginnen, ignoriert werden.

Scheinbar hängt das mit dem Script von Wetter.com zusammen. :roll:
Was mich aber verwirrt, weil es auf der Webseite auch mit Ortschaften klappt, die mit "0" beginnen.
Ich bin auch an dem Problem dran, weil einige Mitglieder bei mir im Forum das gleiche Problem haben. :(
LG
Walter

"Klug ist nicht, wer keine Fehler macht. Klug ist der, der es versteht, sie zu korrigieren."

HenK
Valued Contributor
Posts: 80
Joined: 8. January 2008 12:50
phpBB.de User: HenK
phpBB.com User: H3nK
Location: Germany

Re: Wetterbox auf dem Portal (mit User Postleitzahl)

Post by HenK »

Das Problem liegt aber nicht am wetter.com sondern an pbphh3, oder?
Also einfach an der Profilfeld-Art. Aus 00001 wird von phpbb3 einfach 1 geamcht. (Beispiel)
User avatar

Redbull254
Former Team Member
Posts: 693
Joined: 19. January 2006 22:50
Location: Kamen
Contact:

Re: Wetterbox auf dem Portal (mit User Postleitzahl)

Post by Redbull254 »

HenK wrote:Das Problem liegt aber nicht am wetter.com sondern an pbphh3, oder?
Also einfach an der Profilfeld-Art. Aus 00001 wird von phpbb3 einfach 1 geamcht. (Beispiel)
Mit so vielen Nullen habe ich das nicht getestet. :lol:

Wenn das aber so als Ergebnis kommt, hast Du recht. Mal schauen, was da die "phpBB3 Gurus" zu sagen. :D
LG
Walter

"Klug ist nicht, wer keine Fehler macht. Klug ist der, der es versteht, sie zu korrigieren."

HenK
Valued Contributor
Posts: 80
Joined: 8. January 2008 12:50
phpBB.de User: HenK
phpBB.com User: H3nK
Location: Germany

Re: Wetterbox auf dem Portal (mit User Postleitzahl)

Post by HenK »

Ich hab da ne Lösung:

Man erstellt einfach als Profilfeld ein Textfeld:

Profilfeld hinzufügen:
  • Feld Kennung= plz
  • Art des Feldes= Einzeiliges Textfeld
  • Profilfeld anzeigen: Nein
  • Im Profil des Benutzers anzeigen: anwählen
  • Dem Benutzer angezeigter Name/Titel: Wetter Postleitzahl
  • Feld-Beschreibung: Gib hier deine Postleitzahl ein, wenn Du das Wetter aus deiner Region auf dem Portal angezeigt bekommen möchtest.
Spezifische Optionen der Feldart:
  • Größe des Eingabefelds: 5
  • Mindestens erforderliche Zeichenanzahl: 5
  • Maximal zulässige Zeichenanzahl: 5
  • Zulässige Werte: Nur Ziffern (0-9)
Funzt auch mit der PLZ: 07768 (von Lemmi)
Locked

Return to “board3 Portal v1.0.x - Modifications”