[2.0.x] Anzeige der letzten Themen

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
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.
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5394
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Schau Dir doch mal an, welche Dateien Du per include doppelt aufrufst, bzw. welche .tpl-Dateien doppelt geöffnet werden

Code: Alles auswählen

$template->set_filenames...
. Wichtig ist auch, wann die jeweils mit

Code: Alles auswählen

$template->pparse('...');
wieder geschlossen werden...
Die template.php hat dann nur ein Problem, die Darstellung hinzubekommen, da irgend eine Datei zu einem Zeitpunkt doppelt benutzt werden soll. Also liegt der Fehler nicht in der angegebenen Datei, sondern entweder in der page_tail.php oder recent.php. Ab ehesten solltest Du allerdings prüfen, welche Aufrufe in der recent.php gelöscht werden können, um Konflikte auszumerzen...
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
Benutzeravatar
RusTin
Mitglied
Beiträge: 269
Registriert: 20.09.2003 08:45
Wohnort: Düppenweiler
Kontaktdaten:

Beitrag von RusTin »

thx geht...
F@B
Mitglied
Beiträge: 9
Registriert: 19.09.2003 18:38

Beitrag von F@B »

Ich habe mir die Ausgabe jetzt so formatiert, dass sie als Newsticker ausgegeben wird... Die recent.php funktioniert... Doch wenn ich sie einbinde, dann bekomme ich folgende fehlermeldung:
Fatal error: Cannot redeclare class template in c:\programme\apache group\serverfiles\abi05\board\includes\template.php on line 30
Woran kann das liegen? Habe die Tabelle komplett gelöscht... :-?
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5394
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ich könnte sagen: Siehe oben...
Wenn die recent.php per include aufgerufen wird, so kann es vorkommen (bei der Datei auf jeden Fall), daß ein Template mehrfach gleichzeitig geöffnet werden soll. Dann einfach mal nachsehen, an welcher Stelle in der aufrufenden Datei die recent.php eingebunden wird. Am besten nach dem

Code: Alles auswählen

$template->pparse('...');
, damit das "aufrufende" Template vorher geschlossen wird:

Code: Alles auswählen

$template->pparse('body');

include('./recent.php'); (oder ähnlich)
Und es sollte dann ohne Fehler laufen...
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
F@B
Mitglied
Beiträge: 9
Registriert: 19.09.2003 18:38

Beitrag von F@B »

Jetzt bekomme ich immer
Template->loadfile(): No file specified for handle body
Muss ich das body noch durch was anderes ersetzen? oder wie fuinktioniert das? WIe bekomme ich raus welche Datei doppelt geöffnet wird? kann eigentlich nicht sein :-?
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5394
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ersetze in der recent.php mal

Code: Alles auswählen

include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

$userdata = session_pagestart($user_ip, PAGE_INDEX, $board_config['session_length']);
init_userprefs($userdata);

$page_title = $lang['latest_posts'];
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
mit

Code: Alles auswählen

/*
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

$userdata = session_pagestart($user_ip, PAGE_INDEX, $board_config['session_length']);
init_userprefs($userdata);

$page_title = $lang['latest_posts'];
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
*/
oder lösche die Zeilen ganz. Dann wird nciht mehr versucht, ein Template mehr mehrfach zu öffnen (in diesem Falle die angegebenen Dateien in den include-Befehlen). Das kann man auch in der "aufrufenden" Datei machen, jedoch ist dann z.B. der "Kopf" des Boards nicht mehr da und einige Funktionen könnten nicht aufgerufen werden...
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
F@B
Mitglied
Beiträge: 9
Registriert: 19.09.2003 18:38

Beitrag von F@B »

Immernoch dasselbe! :(
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5394
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Poste doch mal die Stelle, von der Du aus die recent.php aufrufen willst, oder besser gleich zur Datei einen Link (als .txt-File). Dann schaue ich mir das mal im Detail an. Und die recent.php natürlich gleich dazu...
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
F@B
Mitglied
Beiträge: 9
Registriert: 19.09.2003 18:38

Beitrag von F@B »

Also die recent.php funzt einwandfrei...

Ich denke das Problem ist, das er die recent läd und danach noch dieses template offen hat. Wenn nun mein Newsscript (Paranews) included wird, will dieses auch ein template öffnen...

Lösung: Vor den Paranews das alte Template wieder schliessen.
Frage: Wie bekomme ich den Namen raus? Oder wie schliesse ich alle templates die bis dahin geöffnet wurden?
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5394
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Geöffnet wird ein Template mit $template->set_filenames('templatename'->'Dateiname.tpl');
Werte werden an das Template mit $template->assign_vars(array()); oder $template->assign_block_vars('...', array());
Geschlossen, bzw. "beendet" wird ein template mit $template->pparse('templatename');
Also nach dem Öffnen und Schliessen suchen und entsprechend handeln. Es kann auch eine Datei geöffnet oder per "include" eingebunden werden und mit einer eingebundenen Datei nochmal. Auch das kann zu Fehlern führen.
Vielleicht hilft das ja schon. Ist so allerdings mühselig zu beurteilen, wie man es machen muss, ohne die Scripte selber einzusehen...
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
Antworten

Zurück zu „phpBB 2.0: Mod Support“