[Erledigt] Wetterblock einbinden

Begonnen von maik3, 30 Juni 2008, 12:23:16

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

maik3

Hallo,

ich habe folgendes Problem. Ich wollte einen Wetterblock (wetter.com) in einer Block-Datei darstellen (Da ich die Blöcke Modulweise anzeigen lasse).

Also habe ich folgende Code erstellt:

<?php
if (!defined('MX_MODULE') || MX_MODULE != 'Startseite_UnsereStadt')
if (!defined('MX_MODULE') || MX_MODULE != 'News')
if (!defined('MX_MODULE') || MX_MODULE != 'My_Egallery')
if (!defined('MX_MODULE') || MX_MODULE != 'Content')
if (!defined('MX_MODULE') || MX_MODULE != 'Downloads')
if (!defined('MX_MODULE') || MX_MODULE != 'Impressum')
{ return;
}
echo "<SCRIPT language='JavaScript' src='http://PfadzurDatei/blocks/wetter.js' type='text/javascript'></SCRIPT>";
?>


Die Datei wetter.js hat folgenden Code:

<script language="JavaScript" type="text/javascript" src="http://www.wetter.com/v2/woys2/woys2.js.php?196434,d22b7248b87fa6b77312ece93cdd3699"></script>

Trotzdem bekomme ich nur einen leeren Block mit Überschrift aber ohne Inhalt angezeigt.

Der Javascriptcode in einem html-Block fünktioniert!

Vielen Dank für Eure Hilfe.

Maik

StegRene

Nur so ne Idee, welche mir grad durch den Kopf schiesst.........

Musste man nicht im PHP die Zeichen wie / und ' und so weiter mit einem / maskieren?
Ich kann es nur grad nicht ausprobieren, da ich im Büro bin.....

maik3

Ich habe es so abgeändert:
<?php
if (!defined('MX_MODULE') || MX_MODULE != 'Startseite_UnsereStadt')
if (!defined('MX_MODULE') || MX_MODULE != 'News')
if (!defined('MX_MODULE') || MX_MODULE != 'My_Egallery')
if (!defined('MX_MODULE') || MX_MODULE != 'Content')
if (!defined('MX_MODULE') || MX_MODULE != 'Downloads')
if (!defined('MX_MODULE') || MX_MODULE != 'Impressum')
{ return;
}
echo "<SCRIPT language=\'JavaScript\' src=\'wetter.js\' type=\'text/javascript\'></SCRIPT>";
?>

leider keine Wirkung

JoergK

Hoi ;)

@Rene

Nur wenn Du innerhalb von doppelten Anführungszeichen bestimmte Zeichen ausgeben willst, müssen diese mit einem Backslash (\) maskiert werden. In dem genannten Code ist diesbezüglich aber alles ok. ;)

@maik3
Zum einen kannst Du in einer Blockdatei keine direkten Ausgaben (z.B. mit echo) machen. Alles, was von einem Block nachher ausgegeben (angezeigt) werden soll, ist der Variablen $content zuzuweisen. Zum anderen kannst Du den tatsächlichen JS-Code auch direkt in der Blockdatei verwenden. Der Umweg über eine zusätzlich nachzuladende Datei erzeugt nur unnötige Serverlast. Desweiteren hast Du Dich mit der Abfrage auf bestimmte Module wohl vertan, denn mit der Negation wird in Deinem Gesamtcode der Wetterblock nur angezeigt, wenn genau die bezeichneten Module aufgerufen werden. Und ich nehme an, dass es genau umgekehrt sein soll.

Hier mal nen Codebeispiel, wie der Wetterblock aussehen könnte:
<?php
$content 
'';

if (
MX_MODULE == 'Startseite_UnsereStadt' || MX_MODULE == 'News' || MX_MODULE == 'My_eGallery' || MX_MODULE == 'Content' || MX_MODULE == 'Downloads' || MX_MODULE == 'Impressum') {
    
$content '';
} else {
    
$content '<script src="http://www.wetter.com/v2/woys2/woys2.js.php?196434,d22b7248b87fa6b77312ece93cdd3699" type="text/javascript"></script>';
}
?>
Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody

maik3

Super. Danke.

Aber ich möchte es tatsächlich so, dass dieser Block nur bei den angebenen Modulen erscheint, deshalb:

<?php
$content = '';

if (MX_MODULE == 'Startseite_UnsereStadt' || MX_MODULE == 'News' || MX_MODULE == 'My_eGallery' || MX_MODULE == 'Content' || MX_MODULE == 'Downloads' || MX_MODULE == 'Impressum') {
    $content = '<script src="http://www.wetter.com/v2/woys2/woys2.js.php?196434,d22b7248b87fa6b77312ece93cdd3699" type="text/javascript"></script>';

} else {
  $content = '';
}?>


Danke.
Maik

JoergK

Hoi ;)

Zitat
Aber ich möchte es tatsächlich so, dass dieser Block nur bei den angebenen Modulen erscheint, deshalb:

Na denn ... Hauptsache, es funzt. :JC_highfive:
Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody