News vom phpBB includen

Gesperrt
alpi
Beiträge: 117
Registriert: Fr 9. Jul 2004, 15:56
Kontaktdaten:

News vom phpBB includen

Beitrag von alpi » Do 29. Jul 2004, 12:25

Hi,

Ich habe ein kleines Problem. So ist meine Dateistruktur:

...../CMS2/cms2/front_content.php
...../CMS2/cms2/news2.php
...../CMS2/cms2/forum/

Es gibt ja vom phpBB ein News script, welches halt die zb. letztens Beiträge des Forums "News" oder "Akutelles" ausliest und ausgibt. Wenn ich per Browser "news2.php" aufrufe, klappt es wunderbar. Es werden die News angezeit, die ich auch haben will.
Mein Problem ist jetzt aber, dass ich dieses News script in meine HP includen will. Nun habe ich also ein Modul mit diesem Output geschrieben:

Code: Alles auswählen

<?
echo "Hallo1<br>";
include ("news2.php");
echo "<br>Hallo2";
?>
Wenn ich jetzt auf der HP teste, wird Hallo1 angezeigt, aber danach nix mehr. Wisst ihr, das da falsch ist?

Hab noch ausprobiert, den Inhalt von der news2.php in den Output zu kopieren, aber da sagt er:
"Fatal error: Cannot redeclare class template in f:\programme\easyphp_2\www\cms2\cms2\forum\includes\template.php on line 30"

^^dieser fehler tritt aber nicht auf, wenn ich news2.php so im browser teste.

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Do 29. Jul 2004, 12:33

contenido verwendet selbst eine class template
lt. fehlermeldung:
phpBB ebenso...
ein include wird somit nicht funktionieren...
schnellste möglichkeit ein iframe
*** make your own tools (wishlist :: thx)

alpi
Beiträge: 117
Registriert: Fr 9. Jul 2004, 15:56
Kontaktdaten:

Beitrag von alpi » Do 29. Jul 2004, 15:34

würde es denn vielleicht gehen, wenn ich die Klasse einfach umbenenne und die Dinger, die die nutzen auch?
Zb. heißt das dann in Contenido class template und im phpBB class template2?

in Contenido:
$template->......

und in phpBB:
$template2->......

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Do 29. Jul 2004, 15:50

ähm nicht ganz

die klasse bei phpBB müsste umbenannt werden
-> forum\includes\template.php

dort steht ca. bei zeile 30

Code: Alles auswählen

class template {
das musst du umbennen in zb

Code: Alles auswählen

class template2 {
und alle aufrufe innerhalb von phpBB
wo du folgendes findest

$wasauchimmer = new template();
in
$wasauchimmer = new template2();

die variablennamen musst du nicht ändern...

es sollte nicht so schwer sein dies rauszusuchen...
*** make your own tools (wishlist :: thx)

alpi
Beiträge: 117
Registriert: Fr 9. Jul 2004, 15:56
Kontaktdaten:

Beitrag von alpi » Do 29. Jul 2004, 16:16

muss man soetwas nicht ändern? sowas doch auch oder?

Code: Alles auswählen

$template->assign_vars(array(
		"META" => '<meta http-equiv="refresh" content="3;url='  .append_sid("index.$phpEx") . '">')
	);
das habe ich in der index.php unter /forum/ gefunden. Das erste, wenn man nach template sucht.

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Do 29. Jul 2004, 16:53

nein so etwas nicht...
*** make your own tools (wishlist :: thx)

alpi
Beiträge: 117
Registriert: Fr 9. Jul 2004, 15:56
Kontaktdaten:

Beitrag von alpi » Fr 30. Jul 2004, 10:41

irgendwie komme ich noch nicht ganz damit klar.

ich habe jetzt folgendes geändert:

cms2/forum/includes/functions.php:

Zeile 328:

Code: Alles auswählen

$template = new Template($phpbb_root_path . $template_path . $template_name);
in

Code: Alles auswählen

$template = new Template2($phpbb_root_path . $template_path . $template_name);

Zeile 613:

Code: Alles auswählen

$template = new Template($phpbb_root_path . 'templates/' . $board_config['board_template']);
in

Code: Alles auswählen

$template = new Template2($phpbb_root_path . 'templates/' . $board_config['board_template']);

cms2/forum/includes/template.php:

Zeile 30:

Code: Alles auswählen

class Template {
in

Code: Alles auswählen

class Template2 {

Aber wenn ich das mache, funzt das ganze Forum nicht mehr.
Dann sagt er:
Template->make_filename(): Error - file f:\overall_header.tpl does not exist

Irgendwie macht er da beim Pfad ein f:\ vor, aber ich weiß nicht warum.
f:\ ist auch die Festplatte, wo ich den Apache am laufen hab.

Das hier ist die verantwortliche Stelle, die dieses f:\ davor macht.

Code: Alles auswählen

	function make_filename($filename)
	{

		// Check if it's an absolute or relative path.
		if (substr($filename, 0, 1) != '/')
		{
       		$filename = phpbb_realpath($this->root . '/' . $filename);
		}

		if (!file_exists($filename))
		{
			die("Template->make_filename(): Error - file $filename does not exist");
		}

		return $filename;
	}
Ihr könnt euch das ganze mal Live unter
http://alpi.no-ip.info/CMS2/cms2/forum/ ... um.php?f=1
angucken. Geht aber nur, wenn der PC an ist und das ist so 11-22 Uhr.

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Mo 2. Aug 2004, 09:26

nun ja, da musst du leider selbst durch und dir den fehler raussuchen...
*** make your own tools (wishlist :: thx)

andrej
Beiträge: 333
Registriert: Mi 8. Okt 2003, 09:46
Kontaktdaten:

Beitrag von andrej » Mo 6. Sep 2004, 07:47

Hi, hatte das selbe Problem. Habe auch ein phpBB Script im Internet gefunden und wollte diesen einbinden.

Habe es dann so gelöst:

Code: Alles auswählen

<?php
include ('http://deine-domain.de/cms/phpBB_newsinclude.php');
?>
Das ist die Datei in der alle eisntellungen enthalten sind.

Ich benutze diesen Script (http://phpbbfetchall.sourceforge.net/ ), funktioniert einwandfrei. Kannst ja bei mir auf der Webseite sehen.

Gruß

Andrej

alpi
Beiträge: 117
Registriert: Fr 9. Jul 2004, 15:56
Kontaktdaten:

Beitrag von alpi » Mo 6. Sep 2004, 11:47

ich habe es jetzt schon anders gelöst.

habe einfach ein eigenes news-script geschrieben, mit einer eigenen Tabelle.
musste ich sowieso machen, weil ich habe ja ne seite fürn verein, und da habe ich dann auch direkt andere Sachen wie zum Beispiel "Egebniss eintragen" mit integriert. Das Forum öffne ich einfach in einem neuen fenster.

KrissKrass
Beiträge: 86
Registriert: Mi 2. Jun 2004, 16:01
Wohnort: Bochum
Kontaktdaten:

Beitrag von KrissKrass » Do 7. Sep 2006, 16:30

andrej hat geschrieben:Hi, hatte das selbe Problem. Habe auch ein phpBB Script im Internet gefunden und wollte diesen einbinden.

Habe es dann so gelöst:

Code: Alles auswählen

<?php
include ('http://deine-domain.de/cms/phpBB_newsinclude.php');
?>
Das ist die Datei in der alle eisntellungen enthalten sind.

Ich benutze diesen Script (http://phpbbfetchall.sourceforge.net/ ), funktioniert einwandfrei. Kannst ja bei mir auf der Webseite sehen.

Gruß

Andrej
Hallo Andrej,

habe nun ebenfalls mal versucht mit phpBB Fetch All Inhalte in Contenido zu includen... Allerdings kommt bei mir immer noch der gleiche Fehler und zwar das Login Feld von Contenido mit "Nobody" drin.

Auch wenn ich zum Beispiel in einem Modul die Datei "portal.php" von den Examples kopiere, wird die Seite einmal richtig angeziegt in der das Modul includet wurde und beim zweiten Aufruf kommt schon wieder das Login Feld. Woran kann das liegen bzw. was mache ich falsch?

Gruß
Christoph

Gesperrt