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:
Wer also die Geomap schon installiert hat, kann die Vorbereitung überspringen. Die User können dann bereits ihre Postleitzahl angeben.Wuerzi wrote:Wer die Geomap installiert hat findet schon 3 Felder in der Profile fields data Tabelle (user_id , pf_plz , pf_land).
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)
Nun zu den Änderungen an den Dateien:
Öffne: portal/block/additional_blocks.php
suche:
Code: Select all
if (!defined('IN_PORTAL'))
{
exit;
}
Code: Select all
// Wetter START
include($phpbb_root_path . 'portal/block/wetter.'.$phpEx);
// Wetter ENDE
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
));
?>
- 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:füge danach ein:Code: Select all
<!-- additional_blocks //-->
wetter.com: (XHTML valid strict)Code: Select all
<!-- Wetter Start --> <!-- INCLUDE portal/block/wetter.html --> <!-- Wetter Ende -->
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=""/> 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=""/> 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}
- Öffne: styles/prosilver/template/portal/block/additional_blocks_right.html (oder additional_blocks_left.html - je nachdem wo man den Block haben möchte)
- 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:füge danach ein:Code: Select all
<!-- additional_blocks //-->
wetter.com: (XHTML valid strict)Code: Select all
<!-- Wetter Start --> <!-- INCLUDE portal/block/wetter.html --> <!-- Wetter Ende -->
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="" /> 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="" /> 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}
- Öffne: styles/subsilver2/template/portal/block/additional_blocks_right.html (oder additional_blocks_left.html - je nachdem wo man den Block haben möchte)
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ß!