Heise Newsticker ohne Portal
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
- REincarnation
- Mitglied
- Beiträge: 321
- Registriert: 16.10.2003 10:06
- Wohnort: Rostock
- Kontaktdaten:
Heise Newsticker ohne Portal
Hallo zusammen,
ich suche eine Möglichkeit zum Einbinden des Heise Newstickers in meinem Board. Allerdings möchte ich keine Box wie vielleicht in einem Portal, sondern einen Ticker unter dem Header, welcher scrollt. Ähnlich wie bei http://www.oxpus.de/phpBB/portal.php
Ich habe direkt auf der Seite schon gesucht, aber nichts gefunden. Auch die Suche hier war bisher erfolglos. Kann jemand helfen?
ich suche eine Möglichkeit zum Einbinden des Heise Newstickers in meinem Board. Allerdings möchte ich keine Box wie vielleicht in einem Portal, sondern einen Ticker unter dem Header, welcher scrollt. Ähnlich wie bei http://www.oxpus.de/phpBB/portal.php
Ich habe direkt auf der Seite schon gesucht, aber nichts gefunden. Auch die Suche hier war bisher erfolglos. Kann jemand helfen?
Zuletzt geändert von REincarnation am 12.04.2004 19:01, insgesamt 1-mal geändert.
Computerverein Rostock e.V.
Bloßes Ignorieren ist noch keine Toleranz.
Bloßes Ignorieren ist noch keine Toleranz.
- Firestarter
- Mitglied
- Beiträge: 1162
- Registriert: 09.06.2003 15:21
- REincarnation
- Mitglied
- Beiträge: 321
- Registriert: 16.10.2003 10:06
- Wohnort: Rostock
- Kontaktdaten:
Das habe ich auch gefunden. Nur wie bindet man dieses rdf-Dokument ein und wie wird daraus ein Scrollbarer Newsticker. Bei www.oxpus.de habe ich folgendes gefunden.
Tpl-Datei wo die News erscheinen sollen:
...und dann noch die Definition in der portal.php (welche ja in meinem normalen Board nicht vorhanden ist)
Und in der Index.php weiss ich nicht an welche Stelle der Code muss.
Jetzt nur die Frage wo und wie ich es bei mir einbauen soll. Ich habe leider noch nichts gefunden.
Tpl-Datei wo die News erscheinen sollen:
Code: Alles auswählen
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr><td class="row2" align="center" height="15"><span class="genmed"><b>Heise - Newsticker</b></span></td></tr>
<tr><td align="center"><span class="gensmall">
<marquee id="heise" behavior="scroll" direction="left" scrolldelay="50" scrollamount="3" onMouseOver="stop()" onMouseOut="start()">
<!-- BEGIN newsticker -->
{newsticker.heise_Ticker}
<!-- END newsticker -->
</marquee></span></td></tr>
</table>
Und in der Index.php weiss ich nicht an welche Stelle der Code muss.
Code: Alles auswählen
$content = implode ("", file ("http://www.heise.de/newsticker/heise.rdf"));
preg_match_all("|<item>(.*)</item>|Uism",$content, $items, PREG_PATTERN_ORDER);
for ($i=0;$i<count($items[1]);$i++)
{
preg_match_all("|<title>(.*)</title>(.*)<link>(.*)</link>|Uism",$items[1][$i], $regs, PREG_PATTERN_ORDER);
$template->assign_block_vars('newsticker',array(
'heise_Ticker' => "<a href='".$regs[3][0]."' target='_blank' style='color: #0000FF' class='mainmenu'><b>".$regs[1][0]."</b></a> <img src='images/dot.gif' border='0'>"));
}
Computerverein Rostock e.V.
Bloßes Ignorieren ist noch keine Toleranz.
Bloßes Ignorieren ist noch keine Toleranz.
Na ich denk mal mit include()!
Oder? 

Code: Alles auswählen
include('http://www.heise.de/newsticker/heise.rdf');

- REincarnation
- Mitglied
- Beiträge: 321
- Registriert: 16.10.2003 10:06
- Wohnort: Rostock
- Kontaktdaten:
Geht ja so einfach nicht in einer tpl-datei. Genau genommen passiert dann nix. (bei mir zumindest)
Computerverein Rostock e.V.
Bloßes Ignorieren ist noch keine Toleranz.
Bloßes Ignorieren ist noch keine Toleranz.
- REincarnation
- Mitglied
- Beiträge: 321
- Registriert: 16.10.2003 10:06
- Wohnort: Rostock
- Kontaktdaten:
So ich habe nun nach ein paar Tüftlerstunden einen funktionieren Heise-Scroll-Ticker im Board. Für alle die sowas auch wollen:
index_body.tpl (Dort wo die News erscheinen sollen)
includes/page_header.php
Finde:
Danach einfügen:
Ich übernehme selbstverständlich keine Haftung für den Code. Ich bin so gesehen blutiger Anfänger aber es funktionier. (auch ein blindes Huhn findet mal ein Korn) Wäre schön, wenn sich mal ein Profi dazu äußern würde.
index_body.tpl (Dort wo die News erscheinen sollen)
Code: Alles auswählen
<table width="100%" border="0" cellpadding="1" cellspacing="0" style="background-color: transparent; border: 2px solid #dedede;"><tr><td><table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr><td class="catHead" align="center" height="20"><span class="gensmall"><b>Heise - Newsticker</b></span></td>
</tr>
<tr><td height="20" align="center" valign="middle"><span class="gensmall">
<marquee id="heise" behavior="scroll" direction="left" scrolldelay="50" scrollamount="3" onMouseOver="stop()" onMouseOut="start()">
<!-- BEGIN newsticker -->
{newsticker.heise_Ticker}
<!-- END newsticker -->
</marquee></span></td></tr>
</table></td></tr></table>
Finde:
Code: Alles auswählen
//
// Parse and show the overall header.
//
include($phpbb_root_path . 'includes/functions_rate.'.$phpEx);
$template->set_filenames(array(
'overall_header' => ( empty($gen_simple_header) ) ? 'overall_header.tpl' : 'simple_header.tpl')
);
Code: Alles auswählen
//
// Heise Newsticker
//
$content = implode ("", file ("http://www.heise.de/newsticker/heise.rdf"));
preg_match_all("|<item>(.*)</item>|Uism",$content, $items, PREG_PATTERN_ORDER);
for ($i=0;$i<count($items[1]);$i++)
{
preg_match_all("|<title>(.*)</title>(.*)<link>(.*)</link>|Uism",$items[1][$i], $regs, PREG_PATTERN_ORDER);
$template->assign_block_vars('newsticker',array(
'heise_Ticker' => "<a href='".$regs[3][0]."' target='_blank' class='mainmenu'><b>".$regs[1][0]."</b></a> -|- "));
}
Computerverein Rostock e.V.
Bloßes Ignorieren ist noch keine Toleranz.
Bloßes Ignorieren ist noch keine Toleranz.
klasse und ich bastel an sowas die ganze hand rum
bis ja Einverstanden wenn ich dein Code verwende

bis ja Einverstanden wenn ich dein Code verwende

Zuletzt geändert von Elvis am 13.04.2004 17:16, insgesamt 1-mal geändert.
- REincarnation
- Mitglied
- Beiträge: 321
- Registriert: 16.10.2003 10:06
- Wohnort: Rostock
- Kontaktdaten:
Sicher ... Warum sich nochmal quählen 

Computerverein Rostock e.V.
Bloßes Ignorieren ist noch keine Toleranz.
Bloßes Ignorieren ist noch keine Toleranz.
- REincarnation
- Mitglied
- Beiträge: 321
- Registriert: 16.10.2003 10:06
- Wohnort: Rostock
- Kontaktdaten:
Bei mir hat sich gezeigt, dass es zu erheblichen Performanceeinbußen nach dem Einbau des Tickers kommt. Ich weiss es nicht genau, aber ich nehme an, dass es an dem Code in der page_header.php liegt. Wie kann man es schneller machen oder anders?
Computerverein Rostock e.V.
Bloßes Ignorieren ist noch keine Toleranz.
Bloßes Ignorieren ist noch keine Toleranz.
- oxpus
- Ehemaliges Teammitglied
- Beiträge: 5394
- Registriert: 03.02.2003 12:33
- Wohnort: Bad Wildungen
- Kontaktdaten:
Ich hatte den Newsticker zwischenzeitig ausbauen müssen, da scheinbar heise.de stark belastet war.
Hier mal der Code, den ich für mein ezPortal verwende, um diese Performance-Verluste auszugleichen (der Newsticker wird dann einfach nicht angezeigt):
Dabei ist die Prüfzeit bewusst eng gesetzt und sollte in der Regel ausreichen. Wer mehr Zeit haben will, muss nur in der Zeile
die "2" durch eine höhere Zahl ersetzen, was dann aber das Portal zwangsweise wieder etwas mehr ausbremst!
Achtung! Es wird durch den o.g. Code nicht geprüft, wie lange das Laden des Newsinhaltes von heise.de braucht! Ledigleich bei einer Überschreitung der vorgegebenen Zeit bricht das Script sofort ab.
Hier mal der Code, den ich für mein ezPortal verwende, um diese Performance-Verluste auszugleichen (der Newsticker wird dann einfach nicht angezeigt):
Code: Alles auswählen
#
#-----[ OPEN ]-----
#
portal.php
#
#-----[ FIND ]-----
#
//
// Generate the page
//
$template->pparse('body');
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
#
#-----[ BEFORE, ADD ]-----
#
$timecheck = microtime();
$content = implode ("", file ("http://www.heise.de/newsticker/heise.rdf"));
preg_match_all("|<item>(.*)</item>|Uism",$content, $items, PREG_PATTERN_ORDER);
$heise_newsticker = array();
$cancel_heise = FALSE;
for ($i=0;$i<count($items[1]);$i++)
{
preg_match_all("|<title>(.*)</title>(.*)<link>(.*)</link>|Uism",$items[1][$i], $regs, PREG_PATTERN_ORDER);
$heise_newsticker[] = "<a href='".$regs[3][0]."' target='_blank' style='color: #0000FF' class='mainmenu'><b>".$regs[1][0]."</b></a> <img src='images/dot.gif' border='0'>";
if ( ( microtime()-$timecheck ) * 10 > 2 )
{
$i = 11;
$cancel_heise = TRUE;
}
}
if ( $cancel_heise != TRUE )
{
$template->assign_block_vars('switch_heise_newsticker_on', array());
for ($i=0;$i<count($items[1]);$i++)
{
$template->assign_block_vars('switch_heise_newsticker_on.newsticker',array(
'heise_Ticker' => $heise_newsticker[$i])
);
}
}
#
#-----[ OPEN ]-----
#
templates/subSilver/portal_body.tpl
#
#-----[ FIND ]-----
# // The beginning of the middle colums on ezPortal!
<table width="97%" cellspacing="1" cellpadding="1" border="0" align="center"><tr><td>
#
#-----[ AFTER, ADD ]-----
#
<!-- BEGIN switch_heise_newsticker_on -->
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr><td class="row2" align="center" height="15"><span class="genmed"><b>Heise - Newsticker</b></span></td></tr>
<tr><td align="center"><span class="gensmall">
<marquee id="heise" behavior="scroll" direction="left" scrolldelay="50" scrollamount="3" onMouseOver="stop()" onMouseOut="start()">
<!-- BEGIN newsticker -->
{switch_heise_newsticker_on.newsticker.heise_Ticker}
<!-- END newsticker -->
</marquee></span></td></tr>
</table>
<!-- END switch_heise_newsticker_on -->
#
#-----[ SAVE/CLOSE ALL FILES ]-----
#
# EoM
Code: Alles auswählen
if ( ( microtime()-$timecheck ) * 10 > 2 )
Achtung! Es wird durch den o.g. Code nicht geprüft, wie lange das Laden des Newsinhaltes von heise.de braucht! Ledigleich bei einer Überschreitung der vorgegebenen Zeit bricht das Script sofort ab.
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!