Archiv verlassen und diese Seite im Standarddesign anzeigen : extra seite einbinden
hi zusammen
Ich habe mir ein Portal gebaut, bei dem ich nicht(!) die datenbank
verändern muss.
Dabei kann ich alle Threads abgreifen (so viele und unterschiedlich) ich will.
Jetzt möchte ich das "Portal" aber in den header und footer einbauen bzw. einbinden.
geht es evtl. so?
portal.php
------------------------
$header
php
$footer
------------------------
die ganze datei dann als neues template erstellen?
Den Link dann auf "portal.php" vom header aus aufrufen?
Der Hack besteht rein aus php dateien.
Autor:
//...........Last X Posts v1.0.2...........\\
//......by Kevin (kevin@tubescan.com)......\\
Vielen Dank im voraus
Ok, mal sehen, ob ich es zusammenbekomme.
Du hast deine Datei portal.php.
Dort musst du am Anfang ein require('./global.php'); schreiben, wobei global.php die Datei im vB Hauptverzeichnis ist.
Jetzt machst du in deiner Datei was du willst und kannst die Variablen $header und $footer in deiner Ausgabe benutzen.
Die Ausgabe kann direkt im Skript erfolgen oder über ein dafür neu erstelltes Template, das du am Ende von portal.php so ausgibst:eval("dooutput(\"".gettemplate('portaltemplate')."\");");
hört sich zwar einfach an, ist es aber nicht :(
na gut, also wenns nicht klappen sollte wär's auch nicht so schlimm.
ich hab mal so weit alles durchprobiert.
entweder kamen Fehlermeldungen, oder nur ein output sämtlicher Variablen.
Machs doch einfach mal für Dumme - also für mich ;)
ich habe hier eine portal.php
dazugehörig die config.php's.
der mittelteil soll als template dargestellt werden, während der
header und der footer quasi schon da ist.
erstellt habe ich ein template:
"portaltemplate"
da habe ich den inhalt der portal.php eingefügt.
was ich nicht verstehe:
die portal.php im hauptverzeichnis habe ich so, wie du gesagt hast, modifiziert.
aber da kommen nur fehlermeldungen.
was mach ich verkehrt?
sollte nicht im template die variablen $header+$footer stehen?
Die Anleitung war doch schon für Dummies ;)
portal.php ist im vB Verzeichnis und hat folgenden Inhalt<?php
error_reporting(7);
require('./global.php');
eval("dooutput(\"".gettemplate('portaltemplate')."\");");
?>
Das portaltemplate Template sieht so aus{htmldoctype}
<html>
<head>
<!-- no cache headers -->
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="no-cache">
<meta http-equiv="Expires" content="-1">
<meta http-equiv="Cache-Control" content="no-cache">
<!-- end no cache headers -->
<title>$bbtitle - powered by vBulletin</title>
$headinclude
</head>
<body>
$header
Portaltestseite!
$footer
</body>
</html>
Text, auf den du im portaltemplate per Variable zugreifen willst, muss in portal.php vor der dooutput Zeile als Variable evrfügbar sein.
Original geschrieben von pogo
Die Anleitung war doch schon für Dummies ;)
----------------
Text, auf den du im portaltemplate per Variable zugreifen willst, muss in portal.php vor der dooutput Zeile als Variable evrfügbar sein.
Hätte mal besser "für DAU's" geschrieben:D
zum portal:
(Fast) alles klappt und die Ausgabe mit header und footer funken.
Innerhalb wird Text und Aufteilung angezeigt.
wäre nett, wenn du mir die "variable-einfügen" für die portal.php aufzeigen könntest.
zumindest den befehl.
habe schon rumprobiert, aber ich bekomme keine ausgabe.
im template habe ich schon an der stelle "$php1" eingefügt.
<?php
error_reporting(7);
require('./global.php');
????befehl für php-variable????
eval("dooutput(\"".gettemplate('portaltemplate')."\");");
?>
Füg mal die Variable $test = "TESTVARIABLE"; ein.
Wenn du nun im portaltemplate $test irgendwo hinschreibst, erscheint an der Stelle der Wert von $test.
Natürlich könntest du den Wert von $test in einem Template speichern. Dann fügst du in der portal.php nicht $test = "TESTVARIABLE"; ein, sondern eval("\$test = \"".gettemplate('testtemplate')."\";");
Sieht schon mal top aus!
Er zeigt als Ausgabe "Testvariable" an.
Als ich für "Testvariable" den "phpcode" eingegeben habe,
<?php
error_reporting(7);
require('./global.php');
$test = "
require("test1.php");
require("$path/config.php");
$db=mysql_connect($servername,$dbusername,$dbpassword)
usw....."
eval("dooutput(\"".gettemplate('portaltemplate')."\");");
?>
kam:
"parse error in xxx/xxx/xxxx on line 16"
das ist die stelle, an der die config.php abgefragt wurde. :confused:
Wenn du als Variablenwert den PHP Code eingibst, wird er nur so wie hier auch ausgegeben und nicht interpretiert. Das soll doch sicher nicht so sein, oder?
Du musst den PHP Code ganz normal in portal.php reinschreiben und wirklich nur die Ausgaben des Codes in Variablen auffangen, die du dann im portaltemplate nutzen kannst.
Ich danke dir erstmal für deine Mühe!
So ganz klappts nicht.
Wenn ich den "php code" mit ins portal integriere, wirft er das
Ergebnis irgendwo über den header aus.
Dann müsste er ja das ergebnis nicht(!) anzeigen dürfen.
Variable auffangen?!
So fit bin ich nicht, dass ich das selber proggen könnte.
meine einzige variante (dau-variante) wäre, dass ich jeweils
eine php erstelle mit output.
und die wird bei
$test= http://meineurlausgabe.php
abgefragt.
Also danke nochmal :)
Häng doch einfach mal die Datei an, die du als portal.php nutzen willst.
Mach ich doch mal einfach.
Ich setze auch direkt die last10.php mit dabei.
Ist für diejenigen, die mal ein eigenes Portal aufbauen wollen.
Im Portaleinfach.php sind z.Zt. 3 php's eingebaut.
Die verweisen auf die "last10.php".
Die kann man aber benennen, wie man will.
So hat man die Chance, alle Foren (so viel wie man will) abzurufen
und reinzusetzen wo man möchte.
Gibt es soetwas auch für VB3.xx ?
Ich habe den Last10.php von @kevin Jahrelang in meinem Portal eingesetzt. Unter vb2.xx kein Problem.
Oder hat sich jemand mal die Mühe gemacht den auf vb3.03 anzupassen ?
man is dat en oller Thread :eek:
Da gibts doch bei weitem schon bessere Lösungen.
http://www.vbulletin-germany.com/forum/showthread.php?t=9327
http://www.vbulletin.org/forum/showthread.php?t=59609
vBulletin® v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.